Kedua-duanya adalah perisian pembangunan applikasi mobile yang boleh menjana apps multi-platform (untuk Android dan iPhone). Perbandingan telah dibuat selama setahun, penulis telah melakukan eksperimen dengan kedua-dua tools. Post ini cuma untuk membuat keputusan pilihan.

1. Kos framework – Ionic/Flutter framework percuma. Ionic juga sediakan peralatan jana APK yang akhirnya perlukan Android Studio dan Android SDK – percuma. Bagaimanapun ada tools berbayar untuk permudahkan utk build, run, deploy apps dengan mudah.

2. IDE – integrated development environment merupakan perisian menulis kod, dan proses debug/testing apps. Ionic boleh diusahakan dari mana-mana editor kod seperti VSCode, Sublime, Atom, dll. Ionic juga disediakan IDE yang berbayar tersendiri Ionic Studio. Flutter boleh integrate sekali dalam Android Studio. Manakala Ionic adalah framework berasingan. Namun kedua-duanya memerlukan Android Studio & SDK untuk jana APK.

Manakala Flutter ada dua pilihan Android Studio atau VSCode – sekiranya PC tidak mampu menjalankan Android Studio gunakan alternatif seperti VSCode untuk menulis pengaturcaraan Flutter. VSCode juga support hot-reload. Pemasangan IDE dan SDK memang sangat menyukarkan untuk kedua-dua platform.

3. Hot-reload – merupakan fungsi menguji apps yang dibangunkan pada smartphone tanpa perlu kompile semula semua kod dan sumber pada projek pembangunan. IDE hanya akan menghantar perubahan yang dilakukan kepada peranti pintar. Flutter ada, manakala Ionic belum establish lagi.

4. Test/debug pada peranti pintar – uji-lari pada Ionic Capacitor mungkin agak sukar memandangkan banyak CLI yang terpaksa diguna. Flutter melalui Android Studio/VSCode amat memudahkan dengan hot-reload pada smartphone Android. Suka dimaklukan bahawa Android Studio dan Android SDK diperlukan untuk kedua-dua platform pembangunan – dan ramai tak gemar dengan Android Studio sebab lagging-teruk.

5. Syarikat yang menyokong – Ionic disokong oleh syarikat ia sendiri, Flutter disokong oleh Google.

6. Dokumentasi – pada Ionic memang sangat banyak tutorial yang membantu sebab ia dah lama wujud. Flutter agak baharu dan kurang tutorial, namun codelab ia sangat bagus.

7. Prestasi – untuk hubungan dengan database (Firebase) penulis telah eksperimen kedua-dua platform. Flutter lebih berprestasi berbanding Ionic sedikit lagging.

8. Pandangan peribadi – Ionic sangat bagus antaramuka HTML-based. Sesuai untuk newbies. Manakala Flutter agak sukar kod Dart mungkin lebih sesuai dengan intermediate. Tapi bila melibatkan aturcara pada controller (await…async contohnya) – kedua-duanya juga kompleks.

9. Plugins pihak ketiga – kedua-dua platform perlu pasang dulu pustaka library tambahan. Flutter libih mudah untuk uruskan isu ini.

Kesimpulannya – Ionic memang sangat bagus kepada pemula, sebab utama antaramuka guna HTML memang mudah difahami. Cuma bila terpaksa uruskan banyak third-party plugins yang banyak, banyak kali testing, proses test,run,deploy berulang kali Flutter sedikit memudahkan.

Penulis terpaksa merujuk kepada rasa hati dan pengalaman lepas. Memilih FLUTTER sebab industri akan lebih menggemari dari segi prestasi apps yang dihasilkan. Industri tak kisah sangat tools tersebut susah, yang penting apps yang dihasilkan berprestasi tinggi memandangkan apps perlu berinteraksi dengan pangkalan data online.

Maaf, ini pandangan peribadi penulis. Sila komen pandangan anda sekiranya fakta kami kurang tepat.


Trainer:
KHIRULNIZAM ABD RAHMAN, Pensyarah Jabatan Sains Komputer, FSTM KUIS.

Beliau merupakan seorang trainer dalam bidang pengaturcaraan server dan antaramuka web (web front-end & backend) semenjak tahun 2000. Disamping itu juga amat berminat dalam pembangunan applikasi mobile Android, JSON, LARAVEL dan PHP-MySQL.

Antara kursus yang beliau kendalikan;

  1. Android Studio
  2. Flutter Multiplatform Apps Development
  3. Pembangunan Web dengan PHP&MySQL
  4. Pembangunan Sistem Web menggunakan kerangka Laravel

Blog peribadi beliau di khirulnizam.com . Beliau boleh dihubungi melalui email khirulnizam@gmail.com , atau
Whatsapp: http://laravel.wasap.my
Lokasi di bit.ly/mapfstm