Đăng bởi

Flutter là gì? Giải đáp lí do tại sao bạn nên dùng Flutter để phát triển ứng dụng

Khi điện thoại thông minh ngày càng trở nên phổ biến hơn và trở thành một phương tiện không thể tách rời với đời sống của con người, các doanh nghiệp cũng đã và đang dần chú trọng hơn vào việc phát triển ứng dụng di động. Trong lĩnh vực công nghệ, Flutter là một khái niệm còn khá mới mẻ, và hẳn nhiều người còn chưa nắm bắt rõ hết về thuật ngữ này. Vậy để biết được Flutter là gì, hãy tiếp tục khám phá ở phần bên dưới.

Flutter là gì - hình 1

Tổng quan về Flutter

Flutter là gì?

Giải đáp cho câu hỏi “Flutter là gì” thì nó là một framework mã nguồn mở dùng để phát triển ứng dụng di động và web đa nền tảng, được tạo ra và phát triển bởi Google. Flutter là công cụ cho phép các nhà phát triển tạo ra giao diện người dùng (UI) cho ứng dụng trên nhiều hệ điều hành và nền tảng chỉ bằng một mã nguồn duy nhất.

Flutter là gì - hình 2

Ban đầu khi vừa mới ra mắt vào năm 2018, Flutter chủ yếu hỗ trợ phát triển ứng dụng di động. Tuy nhiên, từ đó đến nay, Flutter đã mở rộng phát triển ứng dụng trên sáu nền tảng khác nhau, bao gồm: iOS, Android, web, Windows, MacOS và Linux.

Ngôn ngữ lập trình của Flutter

Sau khi đã biết Flutter là gì, liệu bạn có thắc mắc Flutter sử dụng ngôn ngữ lập trình nào không? Ngôn ngữ lập trình Dart chính là ngôn ngữ được Flutter sử dụng để phát triển ứng dụng. Dart là một ngôn ngữ hiện đại, hướng đối tượng, được phát triển bởi Google, nổi bật với khả năng phát triển các ứng dụng web, di động một cách nhanh chóng và linh hoạt. Dart không chỉ là ngôn ngữ cơ sở mà còn là công cụ chính trong việc xây dựng framework Flutter.

Flutter là gì - hình 3

Khi sử dụng Dart trong Flutter, các nhà phát triển có thể tạo ra các ứng dụng di động đa nền tảng với giao diện đẹp, khả năng tùy chỉnh cao và hiệu suất ổn định. Điều này giúp tối ưu hóa quá trình phát triển, mang lại trải nghiệm người dùng tốt hơn trên nhiều loại thiết bị và hệ điều hành khác nhau.

Các thành phần chính của Flutter

Tiếp nối phần giải đáp “Flutter là gì” và ngôn ngữ mà công cụ này sử dụng sẽ là các thành phần chính của Flutter. Flutter có hai thành phần chính quan trọng như sau:

  • Framework (Thư viện giao diện người dùng dựa trên widgets): Framework trong Flutter cung cấp một tập hợp các thành phần giao diện, cho phép người dùng tái sử dụng những mã code giữa các module và dự án khác nhau trên framework một cách dễ dàng, thuận tiện hơn. Điều này giúp tối ưu hóa quá trình phát triển ứng dụng, tiết kiệm thời gian và giúp tạo ra các ứng dụng có thể tùy chỉnh linh hoạt theo nhu cầu cụ thể của người dùng.
  • SDK (Bộ kit phát triển phần mềm): SDK là bộ công cụ quan trọng hỗ trợ người dùng trong việc phát triển ứng dụng, bao gồm một loạt các công cụ như trình biên dịch, thư viện, và các tiện ích hỗ trợ khác. Nhờ vào SDK, các nhà phát triển có thể tạo ra ứng dụng trên nhiều nền tảng khác nhau như iOS, Android, web, Windows, MacOS và Linux. SDK cung cấp các công cụ để biên dịch mã nguồn thành mã gốc (native code) tương ứng với từng hệ điều hành, giúp ứng dụng hoạt động mượt mà và hiệu quả.
Flutter là gì - hình 4

Các widget trong Flutter

Trong Flutter, các widget là những thành phần cơ bản giúp xây dựng giao diện người dùng. Dưới đây là một số widget phổ biến và ví dụ minh họa cách chúng hoạt động:

Text

Đây là widget cơ bản hỗ trợ hiển thị văn bản trong ứng dụng của bản, và thuộc tính quan trọng nhất của widget này là style.

Flutter là gì - hình 5

Column và Row

Column và Row là các widget sắp xếp các thành phần con theo chiều dọc (Column) hoặc chiều ngang (Row).

Ví dụ sử dụng Column:

Flutter là gì - hình 6

Ví dụ sử dụng Row:

Flutter là gì - hình 7

Stack

Stack là một tập hợp các widget, các widget con trong stack có thể xếp chồng lên nhau.

Flutter là gì - hình 8

Container

Container widget định nghĩa một phần tử giao diện với các thuộc tính như màu sắc, kích thước, padding, margin,…

Flutter là gì - hình 9

SizedBox

Widget này dùng để thiết lập một hộp có kích thước cố định.

Flutter là gì - hình 10

SingleChildScrollView

Khi bạn có một row hay column mà heigh hoặc width của nó vượt quá độ lớn của màn hình điện thoại, bạn có thể sử dụng SingleChildScrollView widget để cuộn nội dung trong một không gian nhất định.

Flutter là gì - hình 11

Expanded

Expanded widget cho phép mở rộng một widget con theo không gian còn trống trong một row, column hoặc flex.

Flutter là gì - hình 12

Những tính năng của Flutter

  • Dễ sử dụng: Flutter sử dụng ngôn ngữ lập trình Dart, một ngôn ngữ đơn giản, linh hoạt và dễ tiếp cận. Các nhà phát triển rất dễ dàng để học và sử dụng Dart để xây dựng ứng dụng.
  • Tính năng Hot Reload: Hot Reload trong Flutter cho phép nhà phát triển xem kết quả ngay lập tức sau khi thực hiện các thay đổi trong mã nguồn, giúp tối ưu hóa quá trình phát triển bằng cách cung cấp khả năng chỉnh sửa, thử nghiệm và sửa lỗi nhanh chóng.
  • Các widget tích hợp sẵn: Flutter cung cấp các widget tích hợp sẵn với thiết kế đẹp mắt và phong phú, giúp tạo ra giao diện người dùng mượt mà, tự nhiên. Những widget này hỗ trợ việc xây dựng giao diện đa dạng và tương thích trên nhiều nền tảng.
Flutter là gì - hình 13
  • Hiệu năng cao: Flutter tập trung vào việc cải thiện hiệu năng của ứng dụng, giúp ứng dụng không bị lag lúc sử dụng, ngay cả trên các thiết bị có cấu hình thấp.
  • Thể hiện cùng một UI trên nhiều nền tảng: Với Flutter, bạn có thể xây dựng một giao diện người dùng đồng nhất và triển khai nó trên nhiều nền tảng khác nhau như iOS, Android, web hay desktop. Điều này giúp tiết kiệm thời gian và tài nguyên phát triển.
  • Giải quyết thách thức trong giao diện người dùng: Flutter cung cấp cách tiếp cận linh hoạt để giải quyết các thách thức trong việc thiết kế giao diện người dùng, thông qua việc sử dụng các layout, platform và widget phong phú.

Tại sao nên dùng Flutter phát triển ứng dụng?

Với tốc độ phát triển nhanh chóng của Flutter như hiện tại, đây xứng đáng là một framework hàng đầu mà bạn có thể lựa chọn khi nó sở hữu các ưu điểm vượt trội sau:

  • Tiết kiệm thời gian, công sức: Với single code-base, Flutter cho phép chỉ cần viết mã một lần và có thể triển khai trên nhiều hệ điều hành khác nhau, giúp tiết kiệm thời gian, công sức và giảm chi phí phát triển ứng dụng.
  • Kiến trúc phân lớp linh hoạt: Flutter sử dụng kiến trúc phân lớp, cho phép tùy chỉnh và kiểm soát toàn bộ giao diện người dùng một cách linh hoạt, không cần phải phân tách thành phần UI cho từng nền tảng riêng.
  • Xem kết quả ngay lập tức: Tính năng Hot Reload của Flutter giúp xem kết quả ngay lập tức sau khi thay đổi mã code mà không cần phải biên dịch lại từng lần, hỗ trợ tăng tốc độ phát triển, cho phép sửa lỗi và thử nghiệm nhanh chóng với nhiều phiên bản UI khác nhau.
Flutter là gì - hình 14
  • Tùy chỉnh toàn bộ giao diện người dùng: Flutter cung cấp quyền kiểm soát mọi pixel trên màn hình, từ việc tạo hoạt ảnh cho đến điều khiển các phần tử đồ họa, video và văn bản.
  • Hỗ trợ đa nền tảng, đồng nhất: Flutter không chỉ áp dụng cho di động mà còn cho web, cung cấp tài liệu rõ ràng cho việc kiểm tra chức năng trên các điều khiển gốc. Nó còn loại bỏ lỗi không tương thích giữa các phiên bản hệ thống, đảm bảo giao diện người dùng đồng nhất trên tất cả các nền tảng.
  • Hiệu suất cao và trải nghiệm người dùng tốt: Ứng dụng Flutter có thể hoạt động tốt trong các tình huống giao diện người dùng phức tạp, loại bỏ các lỗi hiệu suất có thể xảy ra do không sử dụng cầu nối JavaScript hay code trung gian.
  • Cộng đồng rộng lớn: Flutter có nhiều ưu điểm nổi bật hơn so với các framework khác, do đó đã thu hút một lượng lớn các lập trình viên, tạo nên một cộng đồng tích cực, sẵn sàng cung cấp và hỗ trợ lẫn nhau.

Hạn chế còn tồn đọng

Thế nhưng, bên cạnh các lí do để bạn lựa chọn sử dụng Flutter, thì framework này vẫn còn một số nhược điểm chưa được khắc phục hoàn toàn:

  • Chưa ổn định: Là một framework đang trong quá trình phát triển, Flutter đôi khi không ổn định và một số thư viện cần được kiểm tra kỹ trước khi sử dụng.
  • Kích thước tệp lớn: Ứng dụng sử dụng Flutter thường có kích thước tệp lớn, dẫn đến thời gian khởi động và tải ứng dụng lâu hơn, có thể gây ra hiệu suất kém, ảnh hưởng đến trải nghiệm người dùng.
  • Thường xuyên thay đổi: Flutter thường xuyên có các thay đổi và cập nhật, đôi khi sẽ ảnh hưởng đến quá trình phát triển khi mã nguồn cần được duy trì liên tục.
  • Thiếu hướng dẫn phát triển chuẩn: So với các framework ổn định khác, Flutter còn thiếu các hướng dẫn và nguyên tắc phát triển chuẩn hóa, dẫn đến việc xây dựng các ứng dụng phức tạp trở nên khó khăn hơn.
Flutter là gì - hình 15

Tuy nhiên nếu đã cân nhắc kỹ lưỡng, và bạn cảm thấy rằng các nhược điểm này không ảnh hưởng quá lớn đến mục tiêu và yêu cầu cụ thể của dự án phát triển, Flutter vẫn là một lựa chọn đáng xem xét cho phát triển ứng dụng di động.

Flutter phù hợp với đối tượng doanh nghiệp nào?

Để biết được Flutter có phù hợp với doanh nghiệp của mình hay không, bạn có thể tham khảo các đối tượng doanh nghiệp nên sử dụng Flutter sau:

  • Các Start-up: Flutter là lựa chọn lý tưởng cho các start-up vì tính linh hoạt và chi phí thấp. Công cụ miễn phí này cung cấp đủ các yêu cầu trong phát triển ứng dụng chất lượng cao mà không đòi hỏi nhiều nguồn lực.
  • Doanh nghiệp có nguồn lực hạn chế: Những doanh nghiệp có nguồn lực hạn chế về thời gian hoặc ngân sách sẽ tận dụng được các ưu điểm vượt trội của Flutter, giúp doanh nghiệp tiết kiệm nguồn lực mà vẫn tạo ra ứng dụng chất lượng.
  • Doanh nghiệp cần tạo Minimum Viable Product (MVP): Flutter là lựa chọn tốt để phát triển MVP. Với khả năng linh hoạt, dễ sử dụng, nó hỗ trợ tạo ra sản phẩm khả thi tối thiểu để kiểm tra thị trường và thu hút người dùng một cách hiệu quả.
Flutter là gì - hình 16

Ngược lại, có một số đối tượng doanh nghiệp không phù hợp với Flutter:

  • Doanh nghiệp lớn: Flutter có thể không phải là một lựa chọn phù hợp với những doanh nghiệp có đội ngũ nhân viên và các lập trình viên đông đảo. Việc tìm kiếm những người sử dụng ngôn ngữ Dart có thể gây khó khăn, và công cụ này vẫn còn hạn chế so với các nền tảng khác.
  • Doanh nghiệp cần ứng dụng tùy chỉnh cao: Nếu doanh nghiệp cần một ứng dụng với tính tùy chỉnh cao hoặc yêu cầu nhiều tính năng phức tạp, Flutter có thể không phải là lựa chọn tốt nhất. Sự hạn chế trong việc kết nối với các thư viện bên thứ ba có thể làm giảm tính linh hoạt trong việc tùy chỉnh ứng dụng.
Flutter là gì - hình 17

Kết luận

Bài viết vừa giải đáp xong cho bạn câu trả lời “Flutter là gì”, ngôn ngữ lập trình mà framework này sử dụng cũng như các widget, tính năng, ưu, nhược điểm của Flutter, và gợi ý các đối tượng doanh nghiệp nào sẽ phù hợp để sử dụng công cụ này nhất, hy vọng rằng bạn sẽ có thêm một thông tin bổ ích!

Đăng bởi

React Native là gì? Cách thức hoạt động của React Native

React Native là công nghệ đã được tạo ra bởi Facebook và cho phép những dev dùng JavaScript để có thể làm mobile apps trên cả iOS và Android mượt mà như native. Chính vì vậy mã nguồn mở này hiện tại đang được rất nhiều người quan tâm tìm hiểu. Để hiểu rõ hơn về khái niệm React Native là gì cũng như nguyên tắc hoạt động của nó, hãy cùng theo dõi bài viết sau.

1. React Native là gì?

React Native là một framework phát triển ứng dụng di động sử dụng ngôn ngữ JavaScript. Nó được tạo ra bởi Facebook để xây dựng các ứng dụng di động đa nền tảng với giao diện người dùng tương tự như ứng dụng native. 

React Native cho phép lập trình viên sử dụng cùng một codebase để phát triển ứng dụng cho cả hệ điều hành iOS và Android, giúp tiết kiệm thời gian và công sức. Nó sử dụng các thành phần UI được xây dựng lại từ React, một thư viện JavaScript phổ biến để xây dựng giao diện người dùng web.

2. Những ứng dụng viết bằng React Native

Lập trình React Native mặc dù vẫn còn những nhược điểm nhưng vẫn rất hữu dụng. Bởi việc tận dụng lại được code và tiết kiệm thời gian xây dựng ứng dụng trên các nền tảng khác nhau mang lại nhiều lợi ích cho cả bên thiết kế và người dùng. Rất nhiều những ứng dụng nổi tiếng được các công ty tận dụng framework này để sản xuất, điển hình là các ứng dụng sau đây:

  • Facebook
  • Skype
  • Instagram
  • Walmart
  • Airbnb
  • SoundCloud Pulse

3. Nguyên tắc hoạt động của React Native

Nguyên tắc hoạt động của React Native là gì? Về nguyên tắc hoạt động thì nó gần như giống với React trừ việc React Native hiện tại không thao tác cùng với DOM qua DOM ảo. Nó đang chạy 1 quá trình xử lý nền (Được phiên dịch JavaScript và viết bởi những nhà phát triển) trực tiếp ngay trên thiết bị đầu cuối cũng như giao tiếp cùng với nền tảng góp phần qua một cầu trung gian, theo đợt và bất đồng bộ. 

Những thành phần React sẽ bao bọc mã gốc cũng như tương tác cùng với API gốc thông qua mô hình Javascript và UI khai báo của React. Chính điều này đã giúp cho quá trình phát triển ứng dụng dành cho nhiều nền tảng trở nên nhanh hơn. Hiện tại React Native sẽ không dùng HTML mà thay vào đó sẽ sử dụng những thành phần khác nhờ vào luồng Javascript.

4. Cách thức hoạt động của React Native

React Native hoạt động theo các bước sau:

Bước 1 – Viết mã JavaScript: Lập trình viên sử dụng JavaScript để viết mã ứng dụng di động trong React Native. Mã này mô tả giao diện người dùng và tương tác với các thành phần và API của hệ điều hành.

Bước 2 – Bridge kết nối mã JavaScript và ứng dụng native: Mã JavaScript chạy trong môi trường JavaScript runtime của React Native. Nó tương争 tác với các thành phần bridge để gửi yêu cầu và nhận kết quả từ ứng dụng native.

Bước 3 – Các thành phần UI được tạo ra: React Native sử dụng các thành phần UI để xây dựng giao diện người dùng. Các thành phần này tương tự như các thành phần của ứng dụng native, và có thể được tạo ra từ mã JavaScript.

Bước 4 – Thành phần bridge chuyển đổi yêu cầu: Khi mã JavaScript gửi yêu cầu tương tác với các thành phần native, các thành phần bridge chuyển đổi yêu cầu này thành các lệnh và thông điệp tương ứng để gửi đến ứng dụng native.

Bước 5 – Ứng dụng native xử lý yêu cầu: Ứng dụng native nhận và xử lý các yêu cầu được gửi từ thành phần bridge. Nó tương争 tác với các API và các thành phần native khác để thực hiện các tác vụ và trả về kết quả.

Bước 6 – Kết quả được trả về cho mã JavaScript: Khi ứng dụng native hoàn thành xử lý yêu cầu, kết quả được trả về qua các thành phần bridge và đưa lại cho mã JavaScript. Mã JavaScript có thể tiếp tục tương tác với kết quả này hoặc cập nhật giao diện người dùng nếu cần.

Qua quá trình này, React Native cho phép lập trình viên sử dụng mã JavaScript để xây dựng ứng dụng di động với giao diện người dùng tương tự như ứng dụng native và tích hợp tốt với các tính năng của hệ điều hành.

5. Phát triển ứng dụng di động với React Native

Để phát triển ứng dụng di động bằng React Native, bạn có thể tuân theo các bước sau:

Chuẩn bị môi trường phát triển:

  • Cài đặt Node.js: React Native yêu cầu Node.js để chạy mã JavaScript.
  • Cài đặt React Native CLI: CLI (Command Line Interface) là công cụ dòng lệnh để tạo và quản lý dự án React Native.

Tạo dự án React Native mới:

  • Sử dụng React Native CLI để tạo dự án mới với lệnh npx react-native init TenDuAn (thay TenDuAn bằng tên dự án của bạn).
  • Chờ quá trình tạo dự án hoàn thành.

Chạy ứng dụng mẫu:

  • Mở terminal/cmd trong thư mục dự án.
  • Chạy lệnh npx react-native run-android để khởi chạy ứng dụng trên Android hoặc npx react-native run-ios để khởi chạy trên iOS. Đảm bảo máy ảo Android hoặc thiết bị iOS được kết nối và sẵn sàng.

Chỉnh sửa ứng dụng:

  • Mở thư mục dự án trong trình soạn thảo mã nguồn.
  • Tìm và chỉnh sửa file App.js để thay đổi giao diện người dùng và chức năng của ứng dụng.

Chạy và kiểm tra ứng dụng:

  • Lưu các thay đổi và quay trở lại terminal/cmd.
  • Chạy lại lệnh npx react-native run-android hoặc npx react-native run-ios để xem kết quả của các thay đổi trong ứng dụng.

Phát triển thêm tính năng và giao diện:

  • Tiếp tục chỉnh sửa và phát triển các thành phần UI và chức năng mới cho ứng dụng.
  • Sử dụng các thư viện, module và API bên thứ ba để mở rộng tính năng của ứng dụng.

Kiểm thử và triển khai:

  • Kiểm tra ứng dụng trên các thiết bị và môi trường khác nhau để đảm bảo tính tương thích và chất lượng.
  • Triển khai ứng dụng lên cửa hàng ứng dụng (Google Play Store hoặc App Store) hoặc phân phối cho người dùng.

Lưu ý rằng đây chỉ là một quy trình phát triển cơ bản và có thể có các bước và tùy chỉnh khác phụ thuộc vào yêu cầu cụ thể của dự án.

Tạm kết

Tổng kết lại, React Native là một công nghệ phát triển ứng dụng di động mạnh mẽ và phổ biến, với nhiều ưu điểm và tiềm năng hứa hẹn. Việc học React Native sẽ mang lại cho bạn khả năng phát triển ứng dụng di động đa nền tảng, sử dụng ngôn ngữ JavaScript quen thuộc và được hỗ trợ bởi một cộng đồng lớn. 

Đăng bởi

Mini App là gì? Mini App mang lại những lợi ích nào cho doanh nghiệp?

mini app - tini app - tiki

Với sự phát triển của những gã khổng lồ công nghệ như “Super App” WeChat, Alibaba, LINE hay Shopee, khái niệm “Mini App” hẳn đã không còn xa lạ với cộng đồng công nghệ. Tuy nhiên, đứng về khía cạnh doanh nghiệp, Mini App mang lại ý nghĩa, lợi ích của Mini App là gì? Và đặc biệt hơn, làm thế nào để Mini App có thể tiếp cận hàng triệu traffic cho một doanh nghiệp vừa – nhỏ và Startup?

Hàng triệu lượt truy cập nghe có vẻ… hoang đường, nhưng hoàn toàn có thể, vì Mini App của WeChat đã làm được câu chuyện đó (với con số thậm chí là hàng trăm triệu traffic… mỗi ngày). Doanh nghiệp của bạn cũng có thể đạt được thành công đó, chỉ cần nắm được cách thức thực hiện.

Để tìm hiểu thêm về Mini App là gì và vì sao doanh nghiệp nên cân nhắc phát triển Mini App, ITviec đã có buổi trò chuyện với nhiều thông tin vô cùng thú vị với anh Lâm Vương – Technical Lead, và anh Nguyễn Trung Kiên – Director of Engineering, cùng làm việc tại TIKI.

Mini app là gì?

Mini app về bản chất cũng chỉ là một ứng dụng chạy trên một nền tảng. Điểm khác biệt ở đây là “nền tảng” mà Mini app chạy trên đó lại chính là một ứng dụng khác (hay còn gọi là ứng dụng chủ, app chủ). Khi số lượng Mini app đạt đến một con số đủ để tạo thành một hệ sinh thái mà người dùng có thể sử dụng hằng ngày, liền mạch cho mọi nhu cầu liên quan thì những ứng dụng chủ này sẽ được gọi là Super App – siêu ứng dụng.

mini app airasia

Super App là một ứng dụng cho tất cả nhu cầu của người dùng. Nguồn ảnh: Airasia.

Có nhiều cách để doanh nghiệp phát triển Mini App trên App chủ, như:

  • Cách 1: Mini App thuộc quyền sở hữu của App chủ và do chính App chủ phát triển, ví dụ: Shopee, Grab. Cách làm này giúp các developer của app chủ có thể truy cập vào source code để phát triển mini app. Tuy nhiên, không phải ứng dụng nào cũng có đủ nguồn lực về người và về tài chính để làm theo cách này. Với hình thức này, App chủ sẽ không cần đối tác.
  • Cách 2: Doanh nghiệp tự phát triển ứng dụng và tìm giải pháp để đưa vào app chủ. Ví dụ như sử dụng WebView.
  • Cách 3: Doanh nghiệp được phép truy cập vào source code của App chủ và tự code Mini App. Tuy nhiên, cách làm này sẽ làm ảnh hưởng đến tính bảo mật của App chủ nên sẽ khó được áp dụng.
  • Cách 4: Doanh nghiệp hợp tác với App chủ để tạo Mini App và hiển thị trên App chủ thông qua các công cụ phát triển ứng dụng do App chủ cung cấp, ví dụ như WeChat, Zalo, MoMo, TIKI. Cách làm này đơn giản, tiện lợi cho các doanh nghiệp hơn vì họ có thể quản lý trực tiếp ứng dụng của mình.

Mini App có thể là giải pháp phù hợp cho những doanh nghiệp đang có nhu cầu mở rộng tệp người dùng, tăng độ nhận diện thương hiệu và tăng traffic dẫn về ứng dụng.

Lợi ích của Mini app đối với doanh nghiệp?

  • Tiết kiệm nguồn lực phát triển sản phẩm

Theo anh Kiên chia sẻ, thời gian phát triển sản phẩm được rút ngắn đáng kể khi doanh nghiệp phát triển Mini App trên App chủ nhờ vào những bộ công cụ sẵn có, framework được thiết kế riêng cũng như nhiều components UI hữu ích.

Đồng thời, khi phát triển Mini App trên nền tảng Super App, doanh nghiệp có thể dễ dàng chỉ cần code một lần nhưng lên được nhiều nền tảng. Thông thường, một ứng dụng cần ít nhất hai người Developer, mỗi người riêng biệt cho hệ điều hành Android và iOS, hoặc/và cần thêm một người phát triển website. Còn đối với Mini App, doanh nghiệp chỉ cần đúng một người Developer là đã có thể phát triển được sản phẩm cả 3 nền tảng nhờ vào code platform mà App chủ cung cấp. Từ đó, doanh nghiệp có thể tiết kiệm được nhân lực và chi phí.

Khi thời gian và nhân lực được tối ưu hóa, chi phí phát triển sản phẩm cũng sẽ được tiết kiệm tối đa.

  • Được tiếp cận với tập người dùng sẵn có từ Super App

mini app wechat

WeChat Mini Program.

Dựa trên số liệu chính thức từ WeChat, trong tháng 1/2022, số lượng người dùng active mỗi ngày của WeChat là gần 1 tỷ người dùng, trong đó có 450 triệu người dùng mỗi ngày truy cập vào các ứng dụng Mini App thuộc WeChat Mini Programs. Số lượng ứng dụng Mini App hiện nay của WeChat đã vượt qua con số 3 triệu Mini App. Quả là những con số biết nói.

Với số lượng người dùng active mỗi ngày lớn như vậy, bất kỳ doanh nghiệp nào cũng sẽ muốn tiếp cận và tương tác dù chỉ là vài phần trăm của con số đó. Đó cũng chính là điểm hấp dẫn lớn nhất đối với doanh nghiệp khi lựa chọn phát triển Mini App trên Super App.

  • Tận dụng hệ sinh thái sẵn có từ Super App

Hệ sinh thái sẵn có của Super App cũng là một điểm thu hút khác đối với doanh nghiệp. App chủ sẵn sàng cung cấp cho doanh nghiệp những tiện ích sẵn có như thanh toán, giao nhận, quảng bá chiến dịch, trải nghiệm tương tác, chat với người bán,… để doanh nghiệp chỉ cần tập trung vào việc phát triển sản phẩm cho thật tốt.

  • Nâng cấp giải pháp trải nghiệm người dùng

Nhờ vào hệ sinh thái sẵn có của các App chủ, khách hàng của Mini App sẽ được trải nghiệm quy trình khách hàng liền mạch từ khâu lựa chọn, giao dịch, thanh toán, theo dõi đơn hàng, hỗ trợ khách hàng,… mà không cần phải phát triển quy trình từ con số 0. Từ đó, giúp tăng tỷ lệ quay lại (return rate) của khách hàng đối với Mini App.

  • Mini App có thể “tách ra” nếu đã đủ lớn mạnh

Mini App có thể đóng vai trò như là một “bước đệm thử” của doanh nghiệp khi mới bắt đầu tiến vào thị trường. Khi bạn cảm thấy sản phẩm của bạn đã đủ hoàn thiện, có lượt khách hàng quay lại tương đối ổn định và đạt kỳ vọng, bạn hoàn toàn có thể tự xây dựng Native App nếu có nhu cầu.

Anh Lâm bổ sung thêm nhận định: “Doanh nghiệp sẽ không chọn Super App để sống hoài với họ vì một doanh nghiệp không thể sống phụ thuộc vào một doanh nghiệp khác mãi được.

Tuy nhiên, khi tách ra, doanh nghiệp cần phải giải quyết những bài toán khác về công nghệ và nguồn lực – những bài toán vốn dĩ đã được App chủ “lo lắng” giúp trước đây, nên vẫn có nhiều doanh nghiệp chọn ổn định với Super App. Đồng thời, với những Super App có lượt traffic “khủng”, như WeChat, hẳn doanh nghiệp có thể chọn ở lại và phát triển thêm Native App nếu cần thiết.

So sánh giữa Mini App – PWA – Native app

Về nhận định liệu Mini App có thay thế PWA hay Native App hoặc ngược lại không, anh Lâm khẳng định rằng,

Mini App, Progressive Web App (PWA) và Native App đều có những ưu điểm và nhược điểm riêng. Trừ khi nào Native App có code platform thì mới thay thế được Mini App, còn không thì khó mà thay thế được.

Anh Lâm cũng chỉ ra những ưu và khuyết điểm của từng dạng sản phẩm:

 Mini AppPWANative App
Định nghĩaBản chất vẫn là app. Điểm khác biệt là chạy trên một app khác.Làm cho một web giống một cái app hơn. Giống native app nhưng hiển thị ở web.Là “đỉnh cao” của sản phẩm ứng dụng.
Thời gian phát triển sản phẩm nhanhNhanh nhì. Thời gian phát triển sản phẩm nhanh nhưng không nhanh bằng PWA, do cũng tùy thuộc vào công nghệ mình muốn phát triển. Tuy nhiên, lại tiết kiệm được nhiều thời gian hơn so với Native App vì code một lần chạy được trên đa nền tảng.Thời gian phát triển sản phẩm nhanh nhất vì code web rất nhanh. Đồng thời, cũng không cần thời gian deploy, đưa lên app store hoặc app chủ như Native App và Mini App.Với những ai đã có web rồi thì đỡ tốn thời gian build thêm app, cứ chạy thẳng trên web thôi.Thời gian phát triển sản phẩm lâu nhất.
Chất lượng hiệu suấtChất lượng sản phẩm khá tốt do app chủ đã hỗ trợ hết.Chất lượng sản phẩm kém nhất trong 3 hình thức vì hiệu suất tối đa cũng chỉ như một web bình thường.Ưu điểm là web app trở nên thân thiện hơn với mobile:– Lưu thông tin như một app bình thường– Chạy background.Hiệu suất tốt nhất.
Quản lý chất lượngApp chủ sẽ là cơ quan chủ quản quản lý chất lượng.Người sở hữu web, webmaster, sẽ là người quản lý chất lượng.Team Developer của doanh nghiệp chịu trách nhiệm quản lý chất lượng với thang đo chất lượng do người dùng công chúng đánh giá.
Xét về mặt phát triển sản phẩm doanh nghiệp nên sử dụng giải pháp nào cho bài toán nào?Mini App dành cho những doanh nghiệp muốn làm ra ứng dụng trong thời gian nhanh và chi phí tiết kiệm, tiếp cận lượng khách hàng nhanh chóng.PWA dành cho những doanh nghiệp không quan trọng về mặt ứng dụng, có cũng được, không có cũng được.Native App dành cho những doanh nghiệp muốn quản lý tất cả, mọi công nghệ đều thuộc về mình.

Doanh nghiệp cần lưu ý điều gì khi chọn “App chủ” cho Mini App?

Anh Lâm chia sẻ: “Khi lựa chọn Super App để “cộng sinh”, điều quan trọng nhất mà doanh nghiệp cần lưu ý chính là hệ sinh thái của Super App đó phù hợp với Mini App mà mình muốn phát triển hay không.

Xét về mặt lý thuyết, doanh nghiệp có thể chọn bất kỳ Super App nào để hợp tác phát triển, miễn là họ đáp ứng được các yêu cầu về mặt công nghệ. Tuy nhiên, để tối ưu được hoạt động của Mini App, doanh nghiệp vẫn nên chọn những “App chủ” có hệ sinh thái gần với những gì mình đang tìm kiếm.

Ví dụ: Nếu bạn mong muốn phát triển sản phẩm về E-Commerce, những Super App như TIKI, Lazada hay Shopee chắc chắn sẽ phù hợp với bạn về mặt hệ sinh thái hơn là Zalo hay MoMo.

Điều thứ hai mà anh Lâm chia sẻ chính là hãy xem xét những công cụ (ví dụ như bộ components UI) mà Super App đó cung cấp cho đối tác đầy đủ hay không, công nghệ dễ áp dụng hay không.

Điều cuối cùng là liệu Super App mình muốn cộng tác có sẵn sàng hỗ trợ những vấn đề xuất hiện trong quá trình phát triển Mini App hay không.

Tổng quan về Tini App của TIKI

mini app - tini app - tiki

Xây dựng Mini App với TIKI.

Nếu doanh nghiệp đang mong muốn phát triển Mini App theo cách 4 đã giới thiệu ở trên, bạn có thể tìm hiểu thêm về chương trình Tini App do TIKI phát triển.

Tini App – tên gọi của các Mini App thuộc TIKI, là chương trình phát triển Mini App dành cho đối tác muốn hợp tác với TIKI. Tini App ra mắt vào năm 2021 và sau hơn 1 năm ra mắt, Tini App đã nhận về hơn 20 Mini App thuộc nhiều nhóm ứng dụng khác nhau như Tài chính điện tử (Fintech), Mua sắm, Game,…

Đồng thời, Tini App có đội ngũ Developer TIKI luôn sẵn sàng hỗ trợ đội ngũ phát triển của doanh nghiệp bất kỳ khi nào có thắc mắc, cần trợ giúp. Trong năm 2021, TIKI với cuộc thi TIKI Hackathon dành riêng cho Developer phát triển ứng dụng Mini App với Tini App đã góp phần xây dựng một cộng đồng nhà phát triển với nhiều ý tưởng mới lạ, kinh nghiệm thực tế và cùng nhau phát triển ứng dụng.

Tini App của TIKI có thể giải quyết những bài toán nào?

Đối với doanh nghiệp, Tini App có thể mang lại những ưu điểm:

  • Doanh nghiệp có thể tự phát triển sản phẩm trên nền tảng TIKI với thời gian phát triển sản phẩm nhanh, chi phí rẻ
  • Cung cấp hệ sinh thái sẵn có (như thanh toán, vận chuyển, chat với người bán,…), vô cùng phù hợp với những Mini App thuộc nhóm mua sắm
  • Tập người dùng active mỗi ngày lớn và sẵn có của TIKI: Khoảng ~100,000 Active Users mỗi ngày.

Nhờ vào kiến trúc Dual Thread, Tini App có thể giúp Mini App được phát triển với thời gian ngắn hơn, hiệu suất tốt hơn và hoạt động độc lập với TIKI app. Đối với nhà phát triển, Tini App mang đến giải pháp phát triển ứng dụng toàn diện với bộ công cụ bao gồm:

Công cụĐịnh nghĩaCông dụng
Tini ConsoleLà “cửa ngõ” để tạo Mini App.Tạo ra app, quản lý version, quản lý app, phân quyền trong app.
Tini Studio (IDE)Nơi dùng để code một Mini App.Tini Studio có simulator để simulate (giả lập) app đó sẽ hoạt động như thế nào trước khi đẩy lên local host.
Dev AssistantCông cụ để kiểm tra vận hành của Mini App trên ứng dụng TIKI.Khác với Tini Studio – chỉ có thể giả lập khi chạy mỗi Mini App, Dev Assistant giúp Developer “xem thử” Mini App sẽ chạy như thế nào trên môi trường TIKI app.
Tini Design SystemHệ thống vẽ UI-UX và flow Tini app dành cho designer.Tini Design System do chính team UI-UX của Tini app phân tích và hệ thống thành các flow quen thuộc (thanh toán, log in, tìm kiếm và khám phá sản phẩm). Designer có thể dùng Tini Design System để vẽ UI.
Tini UIBộ thư viện phát triển UI theo Tini Design System dành cho Developer.Tini UI hiển thị flow, các bước, UI được có sẵn thiết kế theo Tini Design System.

Quy trình phát triển Tini App với bộ công cụ:

mini app - tini app - tiki

Quy trình phát triển TINI App với TIKI.

Anh Kiên chia sẻ thêm: “Nhờ vào UI thân thiện, Developer dù ở level nào cũng có thể phát triển Mini App với TIKI. Đối với những Senior Developer đã có kinh nghiệm phát triển Native App thì sẽ còn nhanh hơn vì các bạn đã có sẵn mindset phát triển sản phẩm đúng đắn, dễ dàng chuyển đổi.”

Một vài ứng dụng Mini App đã được tạo ra với Tini App và đang chạy ổn định như:

  • DoriDori – Nền tảng Recommerce đầu tiên tại Việt Nam
  • Hexa: Reach the Star – Trò chơi ghép hình được yêu thích
  • Tefal Club – Nơi chia sẻ công thức và video nấu ăn cho mọi gia đình

Tham khảo thêm những ứng dụng được tạo ra từ bộ công cụ Tini App tại trang TINI Showcase.

Hướng phát triển của Tini App trong tương lai

Trong tương lai xa hơn, theo như chia sẻ từ anh Lâm và anh Kiên, TIKI sẽ muốn “biến” Tini App thành một bộ công cụ phát triển ứng dụng có thể được sử dụng ngay cả bên ngoài nền tảng của TIKI. Developer chỉ cần tải bộ công cụ Tini App về và phát triển Native App mà họ mong muốn. TIKI hướng đến mục tiêu phát triển Tini App trở thành bộ công cụ giúp Developer chỉ cần code một lần và có thể chạy trên nhiều nền tảng khác nhau.

Còn đối với tương lai gần dành cho doanh nghiệp đang phát triển Mini App với TIKI, TIKI mong muốn có thể cung cấp thêm các giải pháp về Marketing ngay trên TIKI cho đối tác bằng cách xây dựng công cụ giải pháp về Marketing – Targeting và Retargeting. Trong tương lai gần, đối tác có thể thực hiện những giải pháp quảng cáo như hiển thị banner, gửi notification,…

Cùng với sự phổ biến ngày càng tăng của Super App, các Mini App liên tục ra đời đã làm thay đổi toàn cảnh “bức tranh lớn” về phát triển ứng dụng hiện nay. Đồng thời, chúng còn thay đổi hành vi của người dùng. Có thể trong tương lai, tải xuống và đăng ký/ đăng nhập sẽ không còn những thao tác đầu tiên mà người dùng sẽ làm khi tiếp cận với một ứng dụng mới nữa.

Dù bạn nhìn nhận nó theo cách nào, thì ở cấp độ doanh nghiệp, Super App và Mini App là câu chuyện không thể nào “ngó lơ” được nữa, nhất là với tốc độ phát triển của Super App ở châu Á.

Đăng bởi

Siêu ứng dụng là gì? Việt Nam có phải là “vùng đất hứa” để phát triển siêu ứng dụng không?

siêu ứng dụng - super app việt nam - nguyễn trung kiên - tiki - itviec

Một thuật ngữ công nghệ mới đang nổi lên từ phương Đông – “Siêu ứng dụng”, hay còn gọi là Super App. Hầu hết tất cả những người sinh sống ở châu Á, và sở hữu một chiếc điện thoại thông minh, đều dành phần lớn thời gian sử dụng những ứng dụng này. Vậy chính xác thì siêu ứng dụng là gì và Việt Nam có đang sở hữu một siêu ứng dụng mang tính cách mạng hay không?

Để có thể tìm hiểu thêm về tình hình phát triển Siêu ứng dụng ở Việt Nam cũng như các nước trên thế giới, ITviec đã có buổi chia sẻ thông tin đầy bổ ích với anh Nguyễn Trung Kiên – Director of Engineering tại TIKI.

Siêu ứng dụng là gì?

1. Định nghĩa

Hiện nay, chưa có một khái niệm chung cụ thể cho siêu ứng dụng là gì nên ITviec sẽ mượn định nghĩa do Phó Chủ tịch Kỹ thuật Cấp cao của GoJek – Sidu Ponnappa, đã đưa ra: “Siêu ứng dụng (Super App) là một ứng dụng chứa nhiều app con (Mini Apps), và là một hệ điều hành điều phối những app con này.”

Hay như nhà sáng lập BlackBerry – Mike Lazaridis, đã định nghĩa: “Siêu ứng dụng là một hệ sinh thái khép kín gồm nhiều ứng dụng mà mọi người sẽ sử dụng hàng ngày vì chúng mang lại trải nghiệm liền mạch, tích hợp, theo ngữ cảnh và hiệu quả.”

Còn theo anh Kiên, để trở thành một “siêu ứng dụng”, ứng dụng đó cần phải đáp ứng hai điều kiện:

  1. Số lượng người dùng phải lớn. Không có một số lượng người dùng cụ thể nào được xét làm quy chuẩn chung mà phải tùy thuộc vào ngành nghề, hoặc công ty, và tập người dùng mà ứng dụng đó muốn hướng tới. Điều quan trọng phải đảm bảo là siêu ứng dụng làm ra phải giải quyết được bài toán của người dùng và được họ chọn sử dụng.
  2. Số lượng tính năng/ mini-apps trong một siêu ứng dụng phải lớn, có thể lên đến hàng nghìn, hàng triệu ứng dụng con.

Dựa trên khái niệm trên, hiện nay trên thị trường có 2 hướng tiếp cận phổ biến khi phát triển:

  1. Hướng tiếp cận 1: Đội ngũ phát triển trong nội bộ công ty  xây dựng nhiều tính năng trong một ứng dụng để phục vụ người dùng. Ví dụ như ứng dụng MoMo, Grab, GoJek, hay website dịch vụ Yahoo!,…
siêu ứng dụng - super app - momo
Ứng dụng MoMo. Nguồn: @MoMo
  1. Hướng tiếp cận 2: Chuyển đổi thành nền tảng cung cấp API để cộng đồng bên ngoài có thể phát triển ứng dụng của họ trên nền tảng này. Ví dụ như ứng dụng WeChat. Hiện nay ở Việt Nam thì chưa có ứng dụng nào đi theo hướng tiếp cận tương tự.
siêu ứng dụng - super app - wechat
Hệ sinh thái của siêu ứng dụng WeChat. Nguồn: @WeChat Wiki

“Dù là theo hướng tiếp cận nào, nhà phát triển siêu ứng dụng cũng cần phải xác định được phương pháp mình đưa ra có giải được bài toán của khách hàng, người dùng hay không”, anh Kiên khẳng định.

Một phần mềm muốn trở thành một siêu ứng dụng thì phải đi từ dưới lên, không có con đường tắt. Có nghĩa, phần mềm đó cần phải đi theo chiến lược phát triển như sau:

  1. Phát triển một tính năng chủ đạo (core feature) để xây dựng tập người dùng đủ lớn, tần suất sử dụng cao.
  2. Sau đó, nghiên cứu hành vi người dùng kỹ càng, hiểu rằng tập người dùng còn có những vấn đề nào, nhu cầu gì mà mình có thể giải quyết giúp họ.
  3. Sau khi đã thu thập đầy đủ thông tin của người dùng thì mới có thể phát triển thành một siêu ứng dụng hữu ích mà cộng đồng có thể tin tưởng và chọn sử dụng.

Thoạt nghe, đây là một chiến lược dễ dàng. Nhưng để xây dựng được một ứng dụng, phục vụ một tập người dùng nhỏ trong xã hội thôi đã là một bài toán vô cùng phức tạp với nhà phát triển rồi. Vậy thì để phát triển thành một siêu ứng dụng, các doanh nghiệp phải có chiến lược tính bằng 5 năm, thậm chí 10 năm, không đơn thuần là chỉ vài tháng hoặc vài năm mà có thể thành công được.

Ta có thể thấy ví dụ từ Grab – thành lập vào năm 2012 chỉ với tính năng đặt xe taxi online. Mãi đến năm 2015, Grab mới cho ra mắt GrabExpress (Grab Giao hàng). Đến năm 2016, GrabPay và GrabFood ra đời. Đến năm 2019, Grab mới được “công nhận” là một trong những siêu ứng dụng đang phát triển mạnh mẽ ở Đông Nam Á. Và đến nay, thành công của Grab trong lĩnh vực phần mềm là không thể chối cãi. Để đạt được đến thành tựu này, hành trình phát triển của Grab cũng ngót nghét mất 10 năm.

siêu ứng dụng - super app - grab
Một hệ sinh thái liền mạch của Grab. Nguồn: @e27.co

2. Những ai nên sử dụng

Đối với siêu ứng dụng theo hướng tiếp cận 1, người được hưởng lợi nhiều nhất đương nhiên là người dùng. Họ sẽ được tiếp cận với nhiều tính năng hơn, giải quyết được nhiều nhu cầu trong cuộc sống hơn (thanh toán, dịch vụ, mua sắm,…) mà không cần phải liên kết với nhiều bên khác nhau.

Đối với siêu ứng dụng hướng tiếp cận 2, đối tượng nên sử dụng sẽ là những nhà phát triển ứng dụng (developer). Khi nhu cầu phát triển phần mềm của thị trường tăng cao, đặc biệt là các công ty startup muốn phát triển phần mềm nhưng nguồn lực về công nghệ, chi phí, thời gian, tập người dùng lại có hạn thì các nền tảng mở theo hướng tiếp cận 2 lại chính là “cứu cánh” của họ.

Nếu bạn là một startup đang phân vân nên tự tạo phần mềm riêng lẻ hay tận dụng nền tảng mở của siêu ứng dụng thì bạn có thể cân nhắc theo các yếu tố như sau:

Tiêu chíỨng dụng riêng lẻ (Multiple Apps)Siêu ứng dụng (Super App)
Thời gian phát triểnSử dụng nhiều thời gian để phát triển ứng dụng. Ví dụ, phải phát triển cho cả nền tảng iOS và Android.Tiết kiệm thời gian do chỉ cần phát triển trên nền tảng mở, còn lại sẽ được siêu ứng dụng tự động hóa.
Chi phíBạn đẩy lên Google Play hay Apple Store thì bạn sẽ tốn chi phí để thu hút người dùng.Tiết kiệm được chi phí này.
Công nghệXây dựng từ dưới lên.Được tiếp cận với hệ thống hạ tầng (infrastructure) của nền tảng, tận dụng những tính năng sẵn có.
Hỗ trợKhông có người hỗ trợ.Có cộng đồng tư vấn và hỗ trợ.
Tập người dùngPhải tự tạo tập người dùng.Có sẵn tập người dùng lớn.

Xu hướng phát triển siêu ứng dụng trên thế giới và ở Việt Nam

Vào năm 2015, ứng dụng nhắn tin WeChat của Trung Quốc ra mắt một nền tảng mở cho phép các nhà phát triển có thể phát triển ứng dụng một cách dễ dàng. Từ đó đến nay, đã có hơn 1 triệu ứng dụng mới được phát triển trên nền tảng này. Và WeChat cũng chính là một trong những siêu ứng dụng đầu tiên “mở đường” cho một kỷ nguyên hoàn toàn mới.

Từ sau thành công của WeChat, AliPay ở Trung Quốc, Hàn Quốc với phần mềm Naver, Singapore sở hữu Grab và Indonesia với GoJek,… cũng trở thành những siêu ứng dụng thành công “đại diện” cho quốc gia sở tại.

siêu ứng dụng - super app - naver
Naver – Siêu ứng dụng “đại diện” cho Hàn Quốc. Nguồn: @Naver

Nhìn ở một bức tranh toàn cảnh, anh Kiên nhận định,

Xu hướng siêu ứng dụng phát triển mạnh mẽ ở những quốc gia phương Đông hơn là ở quốc gia phương Tây. Xu hướng này có thể đến từ 3 nguyên nhân chính:

1. Thói quen sử dụng của người dùng: Đối với những người phương Tây, để quyết định xem có sử dụng một ứng dụng hay không, họ sẽ dành nhiều thời gian tìm hiểu về những thông tin xung quanh ứng dụng đó bằng cách hỏi bạn bè, hỏi người thân về trải nghiệm phần mềm sau đó mới đưa ra quyết định. Tuy nhiên, đối với người phương Đông, họ sẵn sàng và dễ dàng tiếp nhận một ứng dụng mới hơn. Chính vì thế, khi một siêu ứng dụng ra đời với nhiều ứng dụng nhỏ bên trong, họ luôn hào hứng trải nghiệm và dùng thử xem có hợp hay không.

2. Lịch sử phát triển: Do siêu ứng dụng đầu tiên được ra đời ở Trung Quốc, châu Á nên xu hướng này trở nên thịnh hành hơn ở phương Đông và tạo tiền đề cho các nước phương Đông phát triển theo. Nếu chúng xuất hiện lần đầu tiên được phổ biến ở các nước phương Tây thì có thể mọi chuyện đã khác.

3. Tính cạnh tranh: Ở phương Tây đã tồn tại sẵn những “chợ ứng dụng” vốn dĩ đã rất phổ biến như AppStore của Apple hay Google Play của Google nên khi siêu ứng dụng ra mắt ở đây thì có thể khó cạnh tranh lại với những người “khổng lồ” này.

appstore
AppStore là một “chợ ứng dụng” khổng lồ mà khó ai có thể cạnh tranh lại.

Khi xét về Việt Nam, câu hỏi lớn đặt ra là Việt Nam có thể có một “siêu ứng dụng” đại diện cho quốc gia hay không? Câu trả lời là có. Để xây dựng một siêu ứng dụng thành công, anh Kiên chia sẻ về 2 yếu tố lớn cần cân nhắc:

1. Nhu cầu của khách hàng: Nếu thị trường không có kỳ vọng, không có nhu cầu thì ứng dụng làm ra cũng sẽ chẳng có ai quan tâm và ứng dụng đó cũng không mang lại lợi ích nhiều cho người dùng.

2. Hệ sinh thái của vùng, quốc gia đó như thế nào: Xét về hệ sinh thái người dùng thì tập người dùng Việt Nam có nhiều điểm tương đồng với Trung Quốc nên Việt Nam sẽ có nhiều kỳ vọng để phát triển về lĩnh vực này.

Và bằng chứng rõ ràng là Việt Nam đã có những siêu ứng dụng điển hình theo hướng tiếp cận 1 là MoMo, Zalo,… Còn để phát triển theo hướng tiếp cận thứ 2, người phát triển ứng dụng còn phải cân nhắc thêm 2 yếu tố:

3. Yếu tố công nghệ. Anh Kiên chia sẻ thêm:

Nền tảng ứng dụng phải đủ tốt để có thể tích hợp bên thứ 3. “Làm thế nào để xây dựng một nền tảng mở cả về Frontend và Backend? Và đáp ứng được các chuẩn về API?” là những câu hỏi mà nhà phát triển nên suy nghĩ.

Bình thường, khi ta muốn thay đổi hoặc cập nhật một tính năng trên ứng dụng, ta đã phải tác động Frontend và Backend rất nhiều. Vậy thì, khi ta mở nền tảng cho nhiều bên thứ 3 cùng tham gia, khối lượng công việc sẽ còn tăng lên nhiều hơn nữa, phục vụ nhiều use case hơn, không chỉ “gói gọn” trong những tính năng nhất định nữa rồi.

Ở Việt Nam hiện tại thì số lượng công ty đi theo hướng tiếp cận thứ 2, có nền tảng mở vững chắc như vậy không nhiều. Đồng thời, Việt Nam đang trong quá trình chuyển đổi số nên những đột phá về mặt công nghệ sẽ còn bùng nổ hơn nữa trong tương lai. Chính vì thế, đây là cơ hội rõ ràng cho những công ty công nghệ trên thị trường Việt Nam để xây dựng một siêu ứng dụng theo hướng tiếp cận 2.

4. Nền tảng có dễ sử dụng hay không: Mục đích siêu ứng dụng ra đời là nhằm tối ưu hóa trải nghiệm phát triển ứng dụng – tiết kiệm thời gian và công sức của developer hơn. Vậy thì, dễ hiểu, dễ phát triển sản phẩm và thân thiện với lập trình viên phải là một tiêu chí cần phải có. Ví dụ, nếu lập trình viên cần phải tốn 1-2 tháng để làm quen với nền tảng mở này thì hiển nhiên, họ sẽ không chọn phát triển ứng dụng trên nền tảng này nữa mà sẽ chọn tự phát triển ứng dụng riêng lẻ.

Kết luận, nhìn chung Việt Nam hoàn toàn đáp ứng được các yếu tố về mặt hệ sinh thái và nhu cầu của thị trường để phát triển các siêu ứng dụng tốt và thành công. Tuy nhiên, đối với những nhà phát triển đi theo hướng tiếp cận 2, họ sẽ cần cân nhắc thêm những yếu tố nội tại khác trong chính cách phát triển phần mềm. Khi đáp ứng được 2 yếu tố nêu trên, siêu ứng dụng đó sẽ trở thành một nền tảng mở thay đổi được cách các nhà phát triển phát triển ứng dụng của họ.

Anh Kiên chia sẻ thêm về những dự định của TIKI khi phát triển Tini App – một siêu ứng dụng phát triển theo hướng tiếp cận 2:

Bản thân TIKI luôn muốn xây dựng một nền tảng hỗ trợ doanh nghiệp Việt Nam về mặt bán hàng trong việc giảm tải chi phí vận hành, thực hiện các hoạt động thanh toán hóa đơn, giao hàng để các doanh nghiệp có thể tập trung phát triển sản phẩm thật tốt. Và thế là TIKI cho ra đời Tini App.

Khi phát triển ứng dụng trên nền tảng Tini App, các nhà phát triển có thể tận dụng được nguồn khách hàng lớn mà TIKI đã xây dựng trong suốt nhiều năm qua cũng như tận dụng được những tính năng sẵn có vô cùng tiện lợi như Giao hàng nhanh, Giao hàng theo giờ, TIKI Pay,…

TIKI hy vọng có thể xây dựng được một nền tảng phát triển ứng dụng mở dễ sử dụng mà kể cả fresher, junior developer đều có thể phát triển phần mềm của riêng họ thật nhanh chóng. Với cuộc thi TIKI Hackathon đang diễn ra hiện nay, chúng tôi mong sẽ nhìn thấy được những sản phẩm thật ấn tượng, được xây dựng trên Tini App, đến từ các đội thi.

Siêu ứng dụng – Sân chơi mới cho lập trình viên

Trong mục này, anh Kiên chỉ nhận định cơ hội việc làm và những tác động nghề nghiệp của lập trình viên do sự xuất hiện của siêu ứng dụng theo hướng tiếp cận thứ 2. Vì với cách tiếp cận 1, cách phát triển ứng dụng, tính năng đã được sắp xếp bởi team nội bộ từ trước, không có tác động nhiều đến cách lập trình viên làm việc.

siêu ứng dụng - super app việt nam - nguyễn trung kiên - director of software engineering tiki - itviec
Chia sẻ của anh Nguyễn Trung Kiên về “sân chơi” mà siêu ứng dụng mở ra cho lập trình viên.

Với siêu ứng dụng có hướng tiếp cận  2, lập trình viên phát triển ứng dụng sẽ được tiết kiệm thời gian và sức lực hơn.

Ví dụ, nếu như bình thường, họ cần phải phát triển ứng dụng trên 3 nền tảng: iOS – Android – Website thì với sự xuất hiện của siêu ứng dụng, họ chỉ cần phát triển trên một nền tảng mở đó thôi. Sau đó, siêu ứng dụng đó sẽ tự động đẩy ứng dụng con lên các nền tảng khác nhau. Đồng thời, về mặt Backend, các ứng dụng này đã có sẵn những tính năng mà lập trình viên có thể tận dụng như tính năng nhắn tin in-app, tính năng thanh toán,…

Có thể nói, khi siêu ứng dụng ra đời, các lập trình viên sẽ có một nền tảng giúp họ “tự động hóa” tốt hơn với các nguồn lực có sẵn. Vốn dĩ, xu hướng phát triển phần mềm này cũng được xem là một quá trình phát triển tự nhiên do công việc chính của lập trình viên là giải quyết các vấn đề liên quan đến tự động hóa. So với 30-40 năm trước thì cách phát triển ứng dụng hiện nay đã có sự khác biệt lớn, công việc nhiều hơn, tự do và sáng tạo hơn.

Khi ta tiết kiệm được thời gian viết code và rút ngắn thời gian phát triển phần mềm, ta sẽ xây dựng được nhiều ứng dụng hơn. Chính vì thế, ta có thể kỳ vọng rằng các siêu ứng dụng sẽ tạo nhiều cơ hội việc làm cho lập trình viên hoặc thay đổi cách mà lập trình viên phát triển ứng dụng theo chiều hướng tích cực hơn.

Thông tin về anh Nguyễn Trung Kiên:

Anh Nguyễn Trung Kiên đã có hơn 12 năm kinh nghiệm trong lĩnh vực phát triển phần mềm. Hiện tại, anh đang công tác tại TIKI gần 2 năm với vai trò là Director of Engineering. Anh chịu trách nhiệm trong việc xây dựng nền tảng Tini App.

Trước khi gia nhập TIKI, anh đã có gần 2 năm làm việc tại Trusting Social với vị trí Technical Lead và 3 năm làm Lead Software Engineer tại Trust Social Global. Ngoài ra, anh cũng đã từng đảm nhận nhiều vị trí khác nhau như Backend Engineer, Server Developer, Technical Leader,…