Language

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

Remote Notification

Push notification cho phép ứng dụng của bạn tiếp cận người dùng thường xuyên hơn, và cũng có thể thực hiện một số tác vụ. Trong hướng dẫn này, chúng ta sẽ học cách cấu hình ứng dụng để nhận remote notifications, hiển thị nội dung và sau đó thực hiện một số hành động khi người dùng nhấn vào.
Hãy bắt đầu.

Read More

WWDC 2020 - Những lý do hàng đầu khiến ứng dụng bị kill ở chế độ nền

Bạn có bao giờ thắc mắc tại sao ứng dụng của bạn bị hệ thống kill khi nó chuyển sang chế độ nền? Bài viết này sẽ tóm tắt những lý do hàng đầu được Apple giới thiệu trong WWDC 2020, và những gì bạn có thể làm để ngăn ứng dụng của mình bị kill ở chế độ nền. Bằng cách áp dụng những mẹo này, chúng ta có thể cải thiện trải nghiệm ứng dụng vì ứng dụng của bạn không phải khởi động lại từ đầu.
Hãy bắt đầu!

Read More

Review sach: RxSwift Reactive Programming with Swift

Trong the gioi phat trien iOS lien tuc phat trien, viec thao tac thuan thuc reactive programming co the giup ban noi bat nhu mot lap trinh vien. Mot trong nhung tai nguyen tot nhat de di sau vao reactive programming voi Swift la cuon sach “RxSwift: Reactive Programming with Swift.” Huong dan toan dien nay cung cap moi thu ban can de hieu va tan dung RxSwift trong cac ung dung cua ban. Hay cung kham pha dieu gi lam cho cuon sach nay tro thanh tai lieu can doc cho cac lap trinh vien Swift.

Read More

Best practice: Quy trình quét BLE nâng cao trên iOS

Các nhà phát triển iOS đang xây dựng các ứng dụng đóng vai trò cả Peripheral và Central để trao đổi dữ liệu với các bản sao ứng dụng khác. Dữ liệu có thể trao đổi một lượng nhỏ thông tin thông qua các gói tin BLE hoặc giá trị chỉ báo cường độ tín hiệu (RSSI) từ thiết bị này sang thiết bị khác. Tuy nhiên, việc giữ ứng dụng chạy mãi ở foreground là không thể. Sớm hay muộn, ứng dụng sẽ chuyển sang chế độ background bởi người dùng và cuối cùng sẽ bị hệ thống tạm dừng tùy thuộc vào RAM khả dụng, mức tiêu thụ năng lượng và các yếu tố khác. Do đó, việc hiểu quy trình advertising và scanning trên thiết bị iOS giúp bạn xây dựng các ứng dụng tốt đáp ứng kỳ vọng của bạn.
Ở cuối hướng dẫn này, chúng ta sẽ xây dựng một ứng dụng đơn giản hoạt động vừa là scanner vừa là advertiser. Khi hai ứng dụng tìm thấy nhau, chúng sẽ ghi một bản ghi log để phân tích. Dựa trên kết quả, chúng ta sẽ tìm hiểu xem ứng dụng của mình sử dụng Core Bluetooth hiệu quả như thế nào.
Hãy bắt đầu thôi!

Read More

iOS: Giới thiệu Stack Views Lập trình

Khi kỹ năng phát triển iOS của bạn đang phát triển, tôi tin rằng bạn sử dụng UIScrollView, UICollectionView, UITableView, và các view native khác thường xuyên và thành thạo trong các ứng dụng của mình. Tuy nhiên, một số iOS developer vẫn không biết chính xác UIStackView là gì, nó được sử dụng cho mục đích gì hoặc trong tình huống nào chúng ta nên sử dụng UIStackView.
Trong tutorial này, tôi sẽ giới thiệu cho bạn UIStackView - Một view giúp chúng ta đơn giản hóa các layout iOS.

Hãy tưởng tượng bạn đang xây dựng một ứng dụng cho phép người dùng thêm hoặc xóa các view trong runtime. Nhớ cách chúng ta sẽ hoàn thành tác vụ này? Đầu tiên chúng ta phải xóa tất cả các constraint trong vùng liên quan và cập nhật lại tất cả. Hoặc nhớ trường hợp bạn triển khai view đăng nhập / đăng ký, bạn thêm nhiều text field và thiết lập constraint thủ công giữa các view đó. Trong những tình huống như vậy, UIStackView tỏ ra hữu ích hơn các view khác.

Read More