Một số nền tảng lập trình mobile

13:10 - 24/12/2019  |  192 lượt xem

Chia sẻ Chia sẻ
Ngày nay khi nhu cầu sử dụng các ứng dụng của con người có xu hướng thiên về thiết bị di động, các phần mềm dần chuyển lên hỗ trợ hoặc bắt đầu phát triển từ nền tảng mobile. Do vậy mà các nền tảng lập trình mobile cũng trở nên đa dạng hơn so với trước đây. Trong bài viết này chúng ta cùng tìm hiểu những nền tảng lập trình ứng dụng phần mềm mobile, đặc biệt trên hai nền tảng phổ biến nhất tới thời điểm hiện tại là hệ điều hành Android của Google và iOS của Apple.
Một số nền tảng lập trình mobile

Hình minh họa

1. Nền tảng tự nhiên (native):

Từ ngày đầu khi các hệ điều hành mobile xuất hiện thì các nhà sản xuất cũng phát hành cùng với bộ công cụ hỗ trợ lập trình phần mềm cho nền tảng của họ, mà giới lập trình di động hay gọi là Native. Native dịch ra tiếng Việt nghĩa là tự nhiên, cũng đúng với ý nghĩa đó, các phần mềm Native là những phần mềm được xây dựng trên môi trường đặc thù riêng của từng nền tảng do chính nhà phát hành hệ điều hành xây dựng và công bố.

Đối với nền tảng Android chúng ta có nền tảng phát triển ứng dụng là ngôn ngữ lập trình Java, và được Google hỗ trợ bộ công cụ Android Studio (bộ công cụ phát triển dựa trên IntelliJ IDEA). Tiền thân của Android Studio là ADT (một bộ công cụ chỉnh sửa dựa trên Eclipse). Hiện tại ngoài Java là ngôn ngữ lập trình chính, Android của Google còn hỗ trợ thêm nhiều ngôn ngữ lập trình khác như Kotlin, python, C/C++ …

Đối với nền tảng iOS, Apple cung cấp nền tảng ngôn ngữ lập trình Native là Objective-C và Swift. Các ngôn ngữ lập trình này được hỗ trợ bởi một công cụ lập trình cực kỳ mạnh mẽ là Xcode. Khi mới ra đời, iOS chỉ hỗ trợ chính một ngôn ngữ là Objective-C, nhưng với cú pháp gây khó khăn cho những nhà phát triển khi mới bắt đầu tiếp cận, Apple đã phát triển và giới thiệu thêm ngôn ngữ Swift, một ngôn ngữ có cú pháp gần gũi và thân thiện hơn cho người lập trình.

Ưu điểm của nền tảng Native này là được hỗ trợ mạnh mẽ từ chính nhà phát triển các nền tảng Mobile, khả năng trải nghiệm vận hành phần mềm ở mức tối ưu nhất.

Nhược điểm lớn nhất là mỗi nền tảng sẽ cần một đội phát triển, có kinh nghiệm riêng mỗi nền tảng.

2. Nền tảng crossplatform:

Với nhu cầu ngày càng cao về ứng dụng di động và những bước phát triển mạnh mẽ của các phần mềm trên các dòng thiết bị này, môi trường phát triển cũng dần trở nên vô cùng sôi động. Giới lập trình cũng có thêm được nhiều sự lựa chọn hơn trong việc phát triển phần mềm.

Trước đây hầu hết những phần mềm di động sẽ chia ra thành nhiều đội phát triển trên từng nền tảng (Android, iOS, Window Mobile, Tizen, Blackberry,fireFoxOS … ), nhưng với những yêu cầu ngày càng khắc khe về thời gian và giá thành phần mềm, những nền tảng crossplatform bắt đầu xuất hiện nhiều hơn. Chúng ta cùng tìm hiểu một số nền tảng nổi bật.

a. Nền tảng di động dựa trên web:

Đây là những nền tảng phát triển mobile dựa trên nền tảng lập trình web, nhà phát triển là người có kinh nghiệm phát triển ứng dụng web và dễ dàng chuyển qua môi trường phát triển cho di động bởi các ngôn ngữ lập trình và môi trường phát triển trên nền tảng này tương tự hoặc gần gũi với web, ngôn ngữ  lập trình đặc trưng là Javascript, Typescript, CoffeScript, NativeScript, một số ngôn ngữ phát triển từ JavaScript và các công cụ xây dựng giao diện dựa trên HTML,CSS hoặc các công cụ biến thể tương đương, một số nền tảng nổi bật như: Phonegap, IONIC, Apache Cordova …

Ưu điểm của nền tảng này là tận dụng được nhân lực lớn từ mảng web chuyển sang, rút ngắn được thời gian tiếp cận.

Nhược điểm chính là khả năng tối ưu phần mềm, tốc độ thực thi theo đánh giá không tốt bằng Native, và nhiều tác vụ can thiệp sâu hệ thống không thực hiện được, tuy vậy hiện nay các công cụ cũng đang dần tối ưu bộ công cụ dịch mã để rút ngắn khoảng cách với Native.

b. Nền tảng dựa trên môi trường dịch hướng NATIVE từ bên thứ 3:

Hiện tại đây là một trong những hướng phát triển mạnh mẽ, và thu hút được lượng lớn các nhà phát triển phần mềm. Phương pháp này phù hợp với những lập trình viên có kinh nghiệm với các ngôn ngữ lập trình hướng đối tượng (xuất phát từ nền tảng lập trình Mobile Native hoặc từ một nền tảng khác mobile). Cách thức hoạt động của nền tảng này là nhà cung cấp xây dựng một môi trường thứ 3, để dịch một ngôn ngữ lập trình của nền tảng thứ 3 (không phải Native) sang nền tảng Native.

Nổi bật phải kể đến là Xamarin của Microsoft, React-native của Facebook và Flutter của Google. Các nền tảng này sẽ có một ngôn ngữ lập trình riêng, Xamarin dùng C#, React-native dùng Javascript, và Flutter dùng Dart làm ngôn ngữ lập trình chính. Các nền tảng này sẽ dịch các mã nguồn từ các ngôn ngữ thứ 3 sang ngôn ngữ Native khi nhà phát triển tiến hành build.

Ưu điểm của nền tảng này là tốc độ thực thi ứng dụng tốt, gần tương đương với ứng dụng Native, rút ngắn thời gian phát triển ứng dụng, thu hút được lượng lập trình viên từ các nền tảng; nhược điểm là cần hỗ trợ từ nhà phát hành khi các hệ điều hành nâng cấp.

Các nền tảng lập trình ứng dụng mobile đang ngày càng phát triển mạnh mẽ, mỗi nền tảng tuy có ưu, nhược nhưng vẫn tiếp tục phát triển tồn tại song hành lẫn nhau. Nền tảng phát triển mạnh mẽ là nền tảng thu hút được sự quan tâm lớn từ cộng đồng lập trình viên.

Dương Minh Kiệt

13:10 - 24/12/2019  |  192 lượt xem

Chia sẻ Chia sẻ

TIN BÀI ĐỌC NHIỀU