Hướng dẫn

Viết chương trình JerryScript đầu tiên

23 / 09 / 2016

JerryScript là một Javascript engine do Samsung phát triển để cải thiện cho các nền tảng IoT. 

Trong bài này, mình sẽ hướng dẫn các bạn lập trình để viết chương trình nhúng Javascript, thông qua JerryScript, vào một chương trình C cơ bản.

Để bắt đầu thì bạn cần phải cài đặt các công cụ và môi trường cần thiết để lập trình với JerryScript. Bạn có thể tiến hành triển khai môi trường trên thiết bị thật như Arduino Uno hay Genuino, hoặc Raspberry Pi... hoặc bất cứ loại nào có cấu hình phần cứng tương thích là được. Nếu không có thiết bị thật, bạn có thể cắm máy ảo Linux cũng được, không thành vấn đề, ở đây chúng ta sẽ chỉ thực hiện chạy chương trình đơn giản đầu tiên nên không có gì yêu cầu nhiều. Hiện tại thì  JerryScript chỉ hỗ trợ hệ điều hành Ubuntu 14.04 trở lên, vì thế, các bạn cần phải sử dụng đúng để có môi trường phát triển chuẩn.

Cần chú ý, lập trình về cơ bản là sử dụng ngôn ngữ lập trình C, và thông qua JerryScript để biên dịch Javascript. Quy trình cơ bản là như vậy, để bạn có thể hiểu được quy trình.

Hãy tạo một file hello-jerryscript.c với mã nguồn chương trình như sau:

#include <string.h>
#include "jerry-api.h"

int
main (int argc, char *argv[])
{
  const jerry_char_t script[] = "print ('Hello, KodeMate.Com!');";
  size_t script_size = strlen ((const char *) script);

  bool ret_value = jerry_run_simple (script, script_size, JERRY_INIT_EMPTY);

  return (ret_value ? 0 : 1);
}

Sau đó thực hiện build thôi,

python tools/build.py --debug

Chương trình này đơn giản chỉ hiển thị một dòng text "Hello, KodeMate.Com!".

Ở đây, để sử dụng các API của JerryScript, bạn cần phải thêm vào header "jerry-api.h". 

Trong chương trình này, chúng ta sử dụng API là hàm jerry_run_simple() với 3 tham số truyền vào.

bool
jerry_run_simple (const jerry_char_t *script_source_p,
                  size_t script_source_size,
                  jerry_init_flag_t flags);

Ý nghĩa các tham số như sau:

  • script_source_p : là mã Javascript cần thực thi.
  • script_source_size : kích thước buffer của script. Để lấy kích thước thì như trên chúng ta sử dụng hàm strlen(), hàm cơ bản của ngôn ngữ lập trình C trong thư viện "string.h".
  • flags : các thông số để chạy Javascript.

Vậy thôi, chương trình khá là đơn giản. Để tham khảo thêm về các API, các bạn vô trang JerryScript - API Reference để tìm hiểu.


Quay lại danh sách
CHIA SẺ BÀI VIẾT
KodeMate
Chat với chúng tôi Chat với chúng tôi - kodemate.com