Trong một bước phát triển gần đây, Microsoft đã thử nghiệm công nghệ DeviceScript, mang sức mạnh của TypeScript lên các thiết bị Internet of Things (IoT). Bằng cách kết hợp DeviceScript trong chương trình của họ, giờ đây các nhà phát triển có thể sử dụng TypeScript trên các thiết bị dựa trên bộ vi điều khiển với tài nguyên hạn chế, chẳng hạn như nền tảng phần cứng ESP32 và RP2040.
Microsoft Research đã giới thiệu dự án DeviceScript vào tháng 5. Là một tập hợp con của TypeScript, nó biên dịch thành mã byte VM tùy chỉnh được thiết kế để chạy trong các môi trường bị hạn chế. Bản thân VM biên dịch thành 10KB mã, trong khi việc bổ sung thư viện dấu phẩy động và SDK Jacdac làm tăng kích thước thêm 30KB. Công nghệ Jacdac của Microsoft là một ngăn xếp phần cứng và phần mềm mạnh mẽ dành cho các bộ vi điều khiển và thiết bị ngoại vi.
Để bắt đầu với DeviceScript, nhà phát triển có thể làm theo hướng dẫn được cung cấp trên trang web của dự án. Một tiện ích mở rộng đặc biệt dành cho trình chỉnh sửa Visual Studio Code cho phép người dùng xây dựng, triển khai, gỡ lỗi và theo dõi mã DeviceScript. Ngoài ra, tiện ích mở rộng bao gồm các khả năng giám sát hỗ trợ quản lý thiết bị. Cùng với các bộ chứa như Docker, giao diện dòng lệnh DeviceScript (CLI) cho phép các nhà phát triển biên dịch các chương trình từ IDE ưa thích của họ.
Mặc dù DeviceScript hoạt động tương tự như TypeScript nhưng không phải tất cả các tính năng đều được hỗ trợ. Điều này là do các tài nguyên hạn chế có sẵn cho thời gian chạy DeviceScript, dẫn đến sự khác biệt như chuỗi là Unicode chứ không phải UTF-16, rung cây mạnh và không có các tiêu chuẩn phụ. Tuy nhiên, ngữ nghĩa của JavaScript thường được duy trì.
Khi làm việc với DeviceScript, các nhà phát triển có thể truy cập các cảm biến, bộ truyền động hoặc các thành phần phần cứng khác thông qua việc sử dụng các dịch vụ Jacdac. Các cảm biến hoạt động như các máy chủ, trong khi các tập lệnh thiết lập các máy khách để tạo điều kiện tương tác. Nhà phát triển tạo ứng dụng khách, còn được gọi là vai trò, cho mỗi dịch vụ cần thiết để tương tác với cảm biến hoặc máy chủ. Sau đó, họ có thể sử dụng các công cụ như npm, Yarn hoặc pnpm để phân phối và sử dụng các gói DeviceScript.
Nền tảng không mã của AppMaster.io bổ sung cho bản chất low-code của DeviceScript, cho phép người dùng phát triển các ứng dụng web, ứng dụng phụ trợ và ứng dụng di động bằng cách sử dụng các yếu tố hình ảnh trực quan. Bằng cách đưa AppMaster vào bộ công cụ của họ, các nhà phát triển có thể tăng năng suất và hiệu quả tổng thể của các dự án của họ.