Language

Protobuf trong thực tế

Tôi đã làm việc với các sản phẩm Bluetooth, bao gồm thiết bị đeo và khóa thông minh, trong nhiều năm. Việc tạo điều kiện cho việc truyền message giữa các thành phần hệ thống là một khía cạnh quan trọng do sự khác biệt về ngôn ngữ lập trình, yêu cầu về tính nhất quán và giới hạn về kích thước truyền dữ liệu. Để giải quyết những thách thức này, chúng tôi sử dụng Protocol Buffers.
Protocol Buffers, còn được gọi là Protobuf, là một định dạng dữ liệu đa nền tảng mã nguồn mở và miễn phí được sử dụng để serialize dữ liệu có cấu trúc, được phát triển bởi Google. Nó được thiết kế để hiệu quả, có thể mở rộng và thân thiện với người dùng. Trong bài hướng dẫn này, chúng ta sẽ tìm hiểu những kiến thức cơ bản về việc tạo một Protocol Buffers message đơn giản, định nghĩa schema và generate code trong các ngôn ngữ lập trình khác nhau.

Read More

Co gi moi cua App Clip tren iOS 17?

Voi su ra mat cua iOS 17, cac ung dung gio day co kha nang khoi chay App Clips tu cac ung dung khac bang cach su dung invocation URL cua App Clip. Chuc nang nay mo ra nhieu kha nang khac nhau. Vi du, neu ban da phat trien mot bo cac ung dung, ban co the cho phep chung khoi chay App Clips tu nhau, cung cap cho nguoi dung quyen truy cap vao cac chuc nang cu the ma khong can cai dat ung dung day du.

Read More

Lên lịch tác vụ ở chế độ nền từ foreground service

Nếu bạn đang chạy service trên Android, hãy lưu ý rằng Android đã giới thiệu các hạn chế thực thi nền nghiêm ngặt hơn trong các phiên bản gần đây. Bắt đầu từ Android 8.0 (API level 26) trở lên, background service có giới hạn về thời gian thực thi, đặc biệt khi ứng dụng ở chế độ nền. Hãy đảm bảo bạn nhận thức được các hạn chế này và điều chỉnh service của mình cho phù hợp.

Read More

Tích hợp Bluetooth với App Clips: Hướng dẫn chi tiết

Ngày nay, người dùng yêu cầu truy cập nhanh chóng và dễ dàng vào các dịch vụ họ cần, mà không cần tải xuống phiên bản đầy đủ của ứng dụng. App Clips - một tính năng được Apple giới thiệu trên iOS 14 - cung cấp giải pháp cho nhu cầu này bằng cách cho phép người dùng truy cập một phần nhỏ của ứng dụng. Bằng cách tích hợp ứng dụng hỗ trợ Bluetooth của bạn vào App Clip, bạn có thể nâng trải nghiệm người dùng lên tầm cao mới. Điều này mở ra những khả năng mới, như cho phép người dùng kết nối với các thiết bị gần đó, thực hiện một tính năng cụ thể, và nhiều hơn nữa. Trong hướng dẫn này, tôi sẽ hướng dẫn bạn cách tích hợp Bluetooth vào App Clip của bạn. Dù bạn là nhà phát triển dày dạn kinh nghiệm hay người mới, bạn sẽ tìm thấy mọi thứ cần thiết để bắt đầu. Vậy, hãy bắt đầu thôi!

Read More

Web Bluetooth

Bạn đã bao giờ muốn tạo một ứng dụng web cho phép người dùng giao tiếp với thiết bị của bạn bằng Bluetooth chưa? Cho đến khi Web Bluetooth được giới thiệu, điều này chỉ có thể thực hiện được thông qua các ứng dụng di động native. Tuy nhiên, với sự ra đời của Web Bluetooth, bạn giờ đây có thể biến ý tưởng của mình thành hiện thực.
Web Bluetooth là một công nghệ mang tính đột phá cho phép các nhà phát triển web kết nối ứng dụng của họ trực tiếp với các thiết bị Bluetooth, mở ra một loạt các khả năng cho IoT, thiết bị đeo, và các thiết bị hỗ trợ Bluetooth khác. Bằng cách tận dụng sức mạnh của Web Bluetooth, bạn có thể tạo các ứng dụng web có thể giao tiếp với thiết bị mà không cần một ứng dụng native riêng biệt.
Vì vậy, nếu bạn đã mơ ước tạo một ứng dụng web có thể tương tác với các thiết bị Bluetooth, bây giờ là lúc để khám phá các khả năng của Web Bluetooth và nâng cao kỹ năng phát triển của bạn lên tầm cao mới.

Read More

Fork và publish thư viện tùy chỉnh của bạn lên npm - React Native Wheel Picker

Khi phát triển một tính năng mới cho phần mềm của chúng ta, chúng ta có xu hướng tìm kiếm xem có thư viện hoặc framework “tương tự” nào có sẵn trong cộng đồng để tái sử dụng hay không. Không ai muốn phát minh lại bánh xe, phải không? Tuy nhiên, thư viện phù hợp nhất với yêu cầu của chúng ta đôi khi không hỗ trợ một tính năng bạn cần hoặc chỉ là một property tùy chỉnh. Bạn có thể mở một pull request đến repo gốc, nhưng có thể mất thời gian và phụ thuộc vào tác giả xem họ có chấp nhận thay đổi của bạn hay không. Trong trường hợp đó, bạn có thể tạo thư viện của riêng mình từ thư viện gốc, chúng ta gọi đó là quá trình “Fork”.
Trong bài viết này, tôi sẽ tóm tắt ngắn gọn các bước để publish một thư viện lên npm, và kể cho bạn nghe về một câu chuyện mà tôi gặp phải khi sử dụng thư viện React Native Wheel Picker.

Read More

Chuỗi bài React Native và BLE: Phần 2 - Xây dựng BLE framework cho Android

Khi nói đến công nghệ di động, iOS và Android là hai hệ điều hành thống trị cung cấp năng lượng cho phần lớn điện thoại thông minh và máy tính bảng trên toàn thế giới. Là các nhà phát triển, điều cần thiết là chúng ta phải có kiến thức và công cụ để làm việc hiệu quả với cả hai nền tảng. Điều này đặc biệt đúng khi nói đến việc sử dụng công nghệ Bluetooth, là một thành phần quan trọng của nhiều ứng dụng di động hiện đại.
Trong phần 1 của chuỗi bài tutorial này, chúng ta đã tạo một BLE (Bluetooth Low Energy) framework có thể được kết nối với UI sử dụng React Native. Tuy nhiên, framework này chỉ hoạt động trên iOS, điều đó có nghĩa là chúng ta cần phát triển một giải pháp riêng cho Android.
Trong phần 2 của chuỗi bài tutorial này, chúng ta sẽ tập trung vào việc định nghĩa một SDK mới cho Android và liên kết nó với UI, giống như chúng ta đã làm trên iOS. Điều này sẽ cho phép chúng ta hỗ trợ đầy đủ cả hai hệ điều hành và cung cấp trải nghiệm Bluetooth liền mạch cho tất cả người dùng, bất kể thiết bị họ chọn.

Read More

Chuỗi bài React Native và BLE: Phần 1 - Xây dựng BLE framework cho iOS

Tôi đã làm việc trong lĩnh vực phát triển di động trên cả các dự án native và cross platform (React Native, Flutter), và tôi cũng có kinh nghiệm làm việc với BLE. Đôi khi tôi nhận được email hỏi về việc giao tiếp giữa RN/Flutter và BLE. Vì vậy, tôi quyết định giới thiệu chuỗi bài React Native và BLE này để hướng dẫn bạn cách phát triển một BLE framework native và kết nối nó với React Native.
Tất nhiên, sẽ có một chuỗi bài khác cho Flutter và BLE sau khi hoàn thành chuỗi bài React Native.
Trong chuỗi bài này, tôi sẽ hướng dẫn bạn qua một quy trình hoàn chỉnh từ phát triển đến phân phối.

Read More

Silent notification

Trong thế giới phát triển ứng dụng di động không ngừng phát triển, việc giữ cho người dùng tương tác và được cập nhật thông tin là điều then chốt. Đối với các nhà phát triển iOS, background notification là một công cụ mạnh mẽ giúp nâng cao trải nghiệm người dùng mà không làm gián đoạn các hoạt động hiện tại của họ. Nhưng chính xác thì background notification là gì và chúng hoạt động như thế nào? Hãy cùng tìm hiểu chi tiết.

Read More

Dark Hat - Phiên bản 1.0 đã được phát hành

Sau nhiều năm làm việc với công nghệ BLE, tôi nhận thấy rằng mặc dù có nhiều ứng dụng giúp kiểm tra thiết bị BLE nhưng không có ứng dụng nào thực hiện tốt vai trò của mình. Đó là lý do tại sao tôi quyết định xây dựng một ứng dụng BLE của riêng mình - Dark Hat. Mục tiêu cốt lõi của ứng dụng này là chia sẻ một công cụ tốt hơn với bạn - một kỹ sư làm việc trong lĩnh vực BLE.

Read More