Native apps với Vue.js: Chọn Weex hay NativeScript?
Vue.js là một framework tuyệt vời! Nó rất dễ học và là tinh hoa của những gì tốt nhất từ React’s component và Angular’s templates. Tuy vậy, Vue.js vẫn có điểm yếu: khác với React Native, Vue.js không hề ổn định cũng như được dùng nhiều vào việc phát triển các app Native.
Tin vui là điều nay sắp được thay đổi với 2 framework mới đang được phát triển nhằm giúp cho Vue.js có thể dùng được trong lập trình ứng dụng Native. Chúng chính là Weex và NativeScript. Trong bài viết này, tôi sẽ so sánh chúng và cho bạn cái nhìn rõ hơn về cả hai framewoek đầy tiềm năng này.
Weex
Weex là một project của người khổng lồ đến từ Trung Quốc – Alibaba. Với slogan “Write once, run Everywhere”, có nghĩa là bạn có thể lập trình cho web (html5), Android và iOS chỉ với cùng một database. Hiện có một vài Weex projects đang được phát triển, với số lượng hàng triệu người dùng Trung Quốc. Weex có nhiều components, plugins để tương tác với native platform với một set tool riêng nhưng vẫn còn khá thô sơ.
Không may là Weex developers vẫn chưa nghĩ đến việc để nó thành open source là ưu tiên hàng đầu. Tuy bạn sẽ có khá nhiều tài liệu, github repos, etc., để học nhưng việc làm một project từ bàn tay trắng sẽ là bất khả thi nếu không dùng vài thủ pháp hack lên native code.
NativeScript
Trong tháng 4, Igor Randjelovic mở ra cơ hội sử dụng Vue với NativeScript. `nativescript-vue` là một NativeScript plugin giúp lấp đầy khoảng cách giữa Vue.js virtual DOM và NativeScript components, cho phép bạn lập trình cross-platform apps với Vue.js. Mặc dù project vẫn còn khá non trẻ và không phù hợp để thật sự áp dụng vào làm app. Nhưng điều không thể chối bỏ là ứng dụng có tiềm năng rất lớn bởi nó thúc đẩy NativeScript framework với những tools cùng kho đồ sộ các components và plugins. Với webpack, bạn thậm chí còn dùng được cả .vue single file components.
Cộng đồng của Native Script cũng khá xôm tụ và được quan tâm. Nếu bạn tham gia vào official slack thì sẽ thấy có rất nhiều thành viên khá thân thiện sẽ sẵn sàng giúp đỡ bạn, bao gồm NativeScript core team developers, cha đẻ của nativescript-vue, và các member khác.
Tóm tắt điểm mạnh và yếu
Weex :
Tốt – Đã trong giai đoạn sản xuất (Tuy chỉ là ở Trung quốc thôi);
Tốt – Dành cho Web, Android và iOS;
Dở – Cộng đồng quá tệ;
Dở – Tool còn quá hoang sơ;
Dở – Không biết bắt đầu từ đâu để làm một project
nativescript-vue:
Tốt – Cộng đồng quá tuyệt vời;
Tốt – Thúc đẩy tất cả NativeScript platforms;
Dở – Còn quá non trẻ;
Dở – Chỉ dành cho Android và iOS
Kết luận
Trong open source projects, cộng đồng tốt luôn là ưu tiên hàng đầu. Weex tuy được ra đời sớm hơn vài tháng và có một đế chế to lớn đứng đằng sau thế nhưng cộng đồng lại rất yếu ớt. Trái ngược lại, NativeScript + Vue có một cộng đồng rất mạnh mẽ và phát triển nhanh chóng. Mặc dù vẫn còn trẻ nhưng tiềm năng và tương lai lại đầy hứa hẹn. Chính vì thế mà tôi chọn NativeScript.
Links
Weex:
- Official website: http://weex.incubator.apache.org/
- Demo To-Do app made with Weex: https://github.com/tralves/weex-todo-list
NativeScript + Vue.js:
- nativescript-vue: https://github.com/rigor789/nativescript-vue
- Article about nativescript-vue: https://www.nativescript.org/blog/a-new-vue-for-nativescript
- NativeScript slack channel: http://developer.telerik.com/wp-login.php?action=slack-invitation
- NS + Vue template: https://github.com/tralves/nativescript-vue-template
- NS + Vue template với webpack (học cách dùng .vue single file components): https://github.com/tralves/nativescript-vue-webpack-template
Nguồn: blog.topdev.vn via Hackernoon
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước
- D Display CSS là gì? Cách khai báo và sử dụng thuộc tính display trong CSS