MOBILE CODE: REACT NATIVE & FLUTTER
———
PHẦN 2 (Hết): KIẾN TRÚC HOẠT ĐỘNG CỦA CÔNG NGHỆ
? Đây là yếu tố quyết định và cũng là bài học xương máu mà mình phải quyết định cho GKC chuyển hẳn từ React Native qua Flutter luôn.
? Trước khi đọc tiếp, anh em ngừng lại 3 phút xem 2 hình mình đính kèm trong post này: Your app là tầng logic, Platform là tầng hệ điều hành, trong đó chia thành 2 phần, phía trên là UI, phía dưới là các dịch vụ liên quan đến phần cứng điện thoại.
?️ Trước mắt ta quan sát ông React Native
? Bản chất phần logic của mình viết nó vẫn là JS, sau đó code logic tương tác vào hệ điều hành bằng 1 cái cầu (bridge), đây cũng là vấn đề. Anh em hiểu đơn giản kiểu như là giao thông qua lại sẽ đều phải đi qua 1 cái cầu vậy.
? Vậy nếu cái cầu bị nghẽn thì sao? Hoặc cái cầu không hỗ trợ phương tiện mà mình sử dụng để đi lại thì sao? Thì mình nói đơn giản là toang! Mà để làm việc với các service bên hệ điều hành, đều phải cài các package vào (node module, npm install), vậy nó không support thì sao, thì hoặc là bó tay thì hoặc là đập luôn cái package ra mà xây lại luôn.
? Mình đã từng làm (thuật ngữ chuyên ngành là fork từ github về custom rồi push lên tài khoản của mình,, rồi dẫn link vào app để cài). Điều này sẽ dẫn đến việc phụ thuộc vào package và performance của app không tốt. Nhớ có đợt build app tracking gps bằng React Native, chạy nóng máy luôn, cũng toang.
?️ Bên cạnh đó, anh em nhìn vào Flutter nhé
? Phần your app là Native code (code native đó anh em à), điều có có nghĩa là bất kỳ khi nào anh em cần đều có thể can thiệp vào bằng code native, chạy ầm ầm.
? Có đợt hồi trước bên mình có 1 dự án cần tích hợp đăng nhập của Zalo, mấy anh em devs lên đọc docs thì không thấy có support cho Flutter, thế là team mình lấy docs của native chế biến ra, vẫn chạy ầm ầm, đến nỗi mấy anh em trong team tự build luôn 1 cái package đăng nhập zalo và share cho cộng đồng luôn.
? Thứ hai là cách Flutter tương tác với hệ thống, nó chia thành 2 phần rõ ràng, 1 phần tương tác với UI, gọi là widgets, 1 phần tương tác với các service, gọi là Channel. Và vì tương tác trực tiếp, không đi qua cái cầu (bridge) nào cả nên hiệu suất cũng khác hẳn.
? Chuyển đổi công nghệ với 1 doanh nghiệp chuyên về lập trình không phải chuyện dễ nhưng mình quyết định cho GKC Software chuyển hẳn sang Flutter để phát triển các dự án cho các khách hàng doanh nghiệp.
? Cũng hy vọng qua những nhận định này, mấy anh em cũng hiểu phần nào và lựa chọn được công nghệ phù hợp với bản thân, với dự án của khách hàng mà kết quả cuối cùng vẫn không phải công nghệ gì mà là dự án có thành công hay không cơ.
Chúc anh em ngày làm việc hiệu quả!
———
☎️ Liên hệ GKC ngay. CHÚNG TÔI CÓ THỂ.
GKC – GIẢI PHÁP CÔNG NGHỆ
LỢI MÌNH – LỢI NGƯỜI – LỢI MỌI NGƯỜI
https://gkcsoftware.com | [email protected] | 0933 42 43 75
GKC TECHNOLOGY SOLUTION
INTEGRITY – COOPERATION – GROWTH
https://gkcsoftware.com | [email protected] | +84 933 42 43 75
Tháng Sáu 19, 2021