Dulu, kalau membicarakan pengembangan aplikasi mobile native, biasanya pikiran langsung tertuju pada Kotlin atau Java untuk Android, serta Swift atau Objective-C untuk iOS.
Sekarang batasnya semakin kabur.
Bahasa yang sebelumnya lebih identik dengan web, backend, scripting, atau desktop mulai memiliki framework dan toolkit masing-masing untuk membangun aplikasi mobile dengan pendekatan yang semakin dekat ke platform native.
Menariknya, hampir semua bahasa populer sekarang seperti punya versi “native”-nya sendiri. 😄
1. PHP → NativePHP
PHP selama ini identik dengan backend dan pengembangan aplikasi web. Namun melalui NativePHP, PHP dan Laravel sekarang juga bisa digunakan untuk membangun aplikasi Android dan iOS.
Website:
https://nativephp.com
NativePHP memungkinkan developer membawa ekosistem Laravel ke aplikasi desktop dan mobile tanpa harus sepenuhnya berpindah ke bahasa pemrograman lain.
Dalam perkembangannya, NativePHP juga mulai menghadirkan pendekatan UI yang lebih dekat ke teknologi native platform.
2. JavaScript dan TypeScript → React Native, NativeScript, Lynx, dan Lainnya
Kalau JavaScript dan TypeScript, pilihannya sudah jauh lebih banyak.
Beberapa framework yang cukup dikenal antara lain:
-
React Native
https://reactnative.dev -
NativeScript
https://nativescript.org -
Lynx
https://lynxjs.org
React Native memungkinkan developer JavaScript dan TypeScript membangun aplikasi mobile dengan komponen yang diterjemahkan ke komponen native platform.
NativeScript mengambil pendekatan yang sedikit berbeda dengan memberikan akses langsung ke API native Android dan iOS dari JavaScript atau TypeScript.
Sementara itu, Lynx menjadi salah satu pemain baru yang mencoba menghadirkan pendekatan cross-platform dengan fokus pada performa dan rendering UI.
Jadi kalau urusan JavaScript dan TypeScript, pilihan framework mobile bisa dibilang sudah cukup ramai. 😆
3. Python → PythonNative
Python yang selama ini lebih populer untuk scripting, automation, data science, AI, dan backend juga mulai memiliki pendekatan sendiri untuk pengembangan aplikasi mobile.
Salah satu proyek yang cukup menarik adalah PythonNative.
Website:
https://pythonnative.com
PythonNative memungkinkan developer membangun aplikasi Android dan iOS menggunakan Python dengan pendekatan UI yang memanfaatkan komponen native platform.
Meski ekosistemnya masih relatif baru dibanding React Native atau Flutter, proyek seperti ini menunjukkan bahwa Python juga mulai masuk lebih jauh ke ranah pengembangan aplikasi mobile.
4. C# → .NET MAUI
Untuk pengguna C#, Microsoft menyediakan .NET MAUI atau .NET Multi-platform App UI.
Website:
https://dotnet.microsoft.com/apps/maui
.NET MAUI memungkinkan developer membangun aplikasi untuk beberapa platform menggunakan satu codebase C#.
Platform yang didukung antara lain:
- Android
- iOS
- macOS
- Windows
Framework ini bisa menjadi pilihan menarik terutama untuk developer yang sudah berada di dalam ekosistem .NET.
5. Dart → Flutter
Dart memiliki Flutter, salah satu framework cross-platform paling populer saat ini.
Website:
https://flutter.dev
Flutter menggunakan pendekatan yang sedikit berbeda dari framework seperti React Native atau NativeScript.
Kode Dart dapat dikompilasi menjadi native machine code, tetapi UI Flutter pada umumnya tidak menggunakan widget native bawaan Android atau iOS secara langsung.
Flutter memiliki rendering engine sendiri untuk menggambar antarmuka aplikasi.
Pendekatan ini membuat tampilan aplikasi bisa sangat konsisten di berbagai platform, tetapi sekaligus menunjukkan bahwa istilah native tidak selalu memiliki arti yang sama.
6. Kotlin → Kotlin Multiplatform
Kotlin selama ini sangat identik dengan pengembangan aplikasi Android.
Namun melalui Kotlin Multiplatform, Kotlin sekarang bisa digunakan lebih luas untuk berbagi kode ke berbagai platform.
Website:
https://kotlinlang.org/multiplatform/
Dengan Kotlin Multiplatform, developer dapat berbagi business logic antar platform seperti:
- Android
- iOS
- Desktop
- Web
- Server
Dengan Compose Multiplatform, sebagian UI juga dapat dibagikan ke beberapa platform.
Apakah Semuanya Benar-Benar Native?
Nah, ini bagian yang penting.
Walaupun banyak framework menggunakan istilah native, cara kerjanya sebenarnya bisa sangat berbeda.
Secara sederhana, pendekatannya bisa dibagi menjadi beberapa kategori.
1. Menggunakan Native UI Platform
Framework seperti React Native dan NativeScript dapat memanfaatkan komponen UI native Android dan iOS.
2. Menggunakan Rendering Engine Sendiri
Flutter menggunakan engine rendering sendiri untuk menggambar antarmuka.
3. Berbagi Logic Antar Platform
Kotlin Multiplatform banyak digunakan untuk berbagi business logic tanpa harus selalu menyatukan seluruh UI.
4. Membawa Runtime atau Ekosistem Bahasa ke Mobile
Proyek seperti NativePHP dan PythonNative mencoba membawa bahasa yang sebelumnya lebih identik dengan backend atau scripting ke lingkungan aplikasi mobile.
Kesimpulan
Dulu pertanyaannya mungkin:
“Bahasa ini bisa dipakai untuk membuat aplikasi mobile atau tidak?”
Sekarang pertanyaannya mulai berubah menjadi:
“Seberapa native pendekatannya, bagaimana UI dirender, bagaimana akses ke API platform, dan apa trade-off-nya?”
Batas antara bahasa web, bahasa backend, bahasa desktop, dan bahasa mobile semakin tipis.
PHP punya NativePHP.
JavaScript dan TypeScript punya banyak pilihan.
Python mulai punya PythonNative.
C# punya .NET MAUI.
Dart punya Flutter.
Kotlin punya Kotlin Multiplatform.
Tinggal menunggu bahasa apa lagi yang nanti diberi embel-embel “Native”. 😂
Catatan: Istilah “native” pada masing-masing framework tidak selalu memiliki arti teknis yang sama. Ada yang menggunakan widget native platform, ada yang dikompilasi menjadi native machine code, ada yang menggunakan rendering engine sendiri, dan ada pula yang berfungsi sebagai bridge menuju API native.

Posting Komentar