So sánh cơ bản giữa 2 native app frameworks sử dụng VueJS

VueJS là một framework tuyệt vời. Nó là sự kết hợp hoàn hảo giữa 2 ông lớn React và Angular. Nhưng ở việc phát triển ứng dụng di động, thì nó chưa ổn định, vẫn kém React Native một khoảng lớn, vì vậy vẫn chưa thích hợp để xây dựng native app. Tuy nhiên, vẫn còn có cơ hội vì hiện nay đang có 2 dự án lớn giúp chúng ta tạo native app bằng Vue, đó là Weex và NativeScript. Nếu ai từng làm Angular 2+ thì đã nghe tới NativeScript rồi nhỉ. Bài viết này sẽ cho cái nhìn cơ bản về 2 frameworks này.

Weex

Weex là một project được tạo bởi ông hoàng thương mại điện tử của Trung Quốc - Alibaba. Với slogan "Write once, run Everywhere", qua đó chúng ta cũng có thể đoán ra là chỉ cần với 1 codebase nhưng có thể sẽ chạy từ HTML5 đến iOS, Android rồi. Cũng có khá nhiều sản phẩm được tạo bởi Weex đang chạy production, hầu như là của Trung Quốc. Team phát triển Weex luôn cải thiện nó từng ngày. Weex cùng có khác nhiều components, plugins để tương tác với platform. Thật không may, các nhà phát triển Weex không cho phép framework này trở thành sẵn có cho cộng đồng nguồn mở như là một ưu tiên lớn. Chắc chắn bạn có tài liệu, repos github, vv, và một số điều đang nhận được tốt hơn bây giờ của Weex nhưng là dưới trướng của Apache Incubator (ASF). Mặc dù vậy, vẫn không có cách nào rõ ràng để xây dựng một dự án Weex từ đầu mà không cần tới basecode. Ngoài ra, tài liệu của nó hầu như là tiếng Trung, cũng gây ảnh hưởng khá nhiều đến hầu hết lập trình viên.

NativeScript

Vào tháng 4, Igor Randjelovic đã mở ra khả năng sử dụng Vue với NativeScript. nativescript-vue là một NativeScript plugin có chức năng làm cầu nối giữa VueJS virtual DOM và NativeScript components, cho phép xâu dựng cross-platform apps bằng VueJS. Mặc dù dự án đang trong giai đoạn khởi đầu, k phù hợp cho production nhưng nó có khá nhiều tiềm năng vì nó thúc đẩy NativeScript frameword với tất cả công cụ của nó cùng với việt kiểm kê các thành phần và plugin. Bạn cũng có thể sử dụng .vue single file components. Cộng đồng NativeScript rất lớn. nếu bạn tham gia vào trang slack chính của, bạn sẽ tìm ra được khá nhiều người có thể giúp mình, trong đó có cả core team của NativeScript, người sáng lập ra nativescript-vue, và một số lập trình viên chủ chốt của project. Có rất nhiều người muốn nativescript-vue hoạt động mạnh như React Native vậy.

Những cái hay và dở

Weex: 👍 In production (mặc dù, chỉ ở Trung Quốc); 👍 Xây dựng cho Web, Android và iOS; 👎 Cộng đồng không tốt lắm; 👎 Công cụ còn nhiều thiếu sót; 👎 Không có lộ trình rõ ràng để bắt đầu một dự án;

nativescript-vue: 👍 Có một cộng đồng rất mạnh! 👍 Đẩy mạnh phát triển NativeScript platform; 👎 Không sẵn sàng cho production; 👎 Chỉ tạo cho Android và iOS (mặc dù có những người làm việc về chia sẻ mã với một trang web);

Kết luận cuối cùng

Trong các dự án mã nguồn mở, cộng đồng trumps công nghệ. Weex đã có một vài tháng đầu và được hỗ trợ bởi một công ty lớn, nhưng chúng tôi đã không nhìn thấy nhiều tiến bộ trong cộng đồng của sự vật. Mặt khác, NativeScript + Vue đã nhận được một lượng ngày càng tăng của lực kéo. Chắc chắn, có một số cạnh thô, nhưng một khi chúng được xóa ra, chúng tôi sẽ có một khuôn khổ vững chắc để phát triển các ứng dụng bản địa với Vue.js. Tôi đang đặt cược vào NativeScript!