Latar Belakang
Javascript adalah teknologi yang digunakan di situs web. Menonaktifkan Javascript untuk semua situs web di web browser bukanlah hal yang disarankan. Sebagian besar situs web populer berbasis Javascript. Artinya, situs-situs ini menggunakan Javascript untuk menjalankan fitur interaktif yang menghadirkan pengalaman pengguna yang menyenangkan.
Lebih jauh dari itu, saat ini javascript juga populer digunakan untuk membangun aplikasi backend, frontent, dan mobile apps. Disandingkan dengan MongoDB sebagai database NoSQL (not only SQL).
Artikel ini berisi catatan awal saya dalam belajar MERN mulai dari definisi, persiapan, instalasi, dan testing pertama kali, Insya Allah akan dilanjutkan dengan pembuatan aplikasi sederhana secara bertahap pada artikel-artikel berikutnya.
Definisi MERN
MERN merupakan akronim atau singkatan dari MongoDb, Express.Js, React, Node.Js. definisi singkatnya adalah dibawah ini :
- MongoDB adalah database NoSQL yang disarankan untuk Node.Js. Collection dan Document
- Express.Js adalah framework node.js yang digunakan untuk membuat backend API
- React.Js adalah sebuah library javascript untuk membuat frontend website
- React Native adalah sebuat framework untuk membuat mobile apps android & ios
- Node.Js adalah sebuah platform yang digunakan untuk menjalankan javascript diluar web browser (server side javascript – engine V8)
- Json adalah javascript object notation sebagai format data
Alternatif Teknologi
Selain menggunakan teknologi MERN, dibawah ini adalah alternatif yang bisa digunakan untuk membuat backend, frontend, dan aplikasi mobile.
Untuk membuat frontend alternatifnya adalah :
Untuk membuat backend alternatifnya adalah :
Untuk membuat aplikasi android :
- Native Android : Java & Kotlin
- Native IOS : swift & objective C
- Cross platform : Flutter (dart) & React Native (javascript)
- Hybrid Apps (webbase) : xamarin, ionic, apache cordova
Tahap Persiapan Awal
Setelah mengetahui definisi dan alternatif teknologi yang ada saat ini, kita fokuskan belajar MERN. dengan persiapan seperti dibawah ini :
Tahap Instalasi
Saya sebelumnya menginstall node.js versi terakhir saat tulisan ini dibuat yaitu versi 17. namun ada kendala saat testing aplikasi sehingga saya ganti dengan mendownload versi 16 (node-v16.13.1-x64) dengan versi dibawah ini :
- node -v (16.13.1)
- npm -v (8.1.2)
- yarn -v (1.22.17)
Pengenalan React Native-CLI dan Expo-CLI
React native merupakan framework javascript yang digunakan untuk mengembangkan aplikasi pada smartphone. Aplikasi yang dikembangkan dengan react native ini pada dasarnya dapat berjalan di ponsel berbasis Android dan IOS, hanya saja perlu sedikit penyesuaian untuk masing-masing OS nya. Sedangkan Expo adalah adalah framework berbasis react native yang digunakan juga untuk mengembangkan aplikasi dengan tujuan yang sama yaitu dapat berjalan pada Android dan IOS.
Expo merupakan satu set tools, library, dan services yang digunakan dalam pengembangan aplikasi. Pada dasarnya Expo dan react native ini sama dalam hal menuliskan kode program namun pengembangan aplikasi pada Expo dapat lebih cepat karna beberapa tools, library, dan services sudah disediakan oleh Expo. Sehingga dalam belajar react native ini saya fokus menggunakan expo.
Pengenalan NPM dan Yarn
The JavaScript node package manager (npm) adalah metode default untuk mengelola paket di lingkungan runtime Node.js. npm bergantung pada baris perintah dan database yang terdiri dari paket public dan premium yang dikenal sebagai registri npm. Pengguna dapat mengakses registri melalui klien dan menelusuri banyak paket yang tersedia melalui situs web npm. NPM dan registrinya dikelola oleh perusahaan npm, Inc.
Yarn dikembangkan oleh Facebook dalam upaya untuk menyelesaikan beberapa kekurangan npm. Secara teknis, Yarn bukan pengganti npm karena bergantung pada modul dari registri npm. Yarn sebagai new installer yang masih mengandalkan struktur npm yang sama . Registri itu sendiri tidak berubah, tetapi metode instalasi berbeda. Karena Yarn memberi Anda akses ke paket yang sama dengan npm, pindah dari npm ke Yarn tidak mengharuskan kita untuk membuat perubahan apa pun pada alur kerja.
Pengenalan NPM dan NPX
NPM adalah singkatan dari Node Package Manager. Sebuah program berbasis teks untuk manajemen paket Nodejs. Sedangkan NPX adalah Node Package Runner. Fungsinya untuk mengeksekusi package Nodejs.
NPX akan mengeksekusi file binary dari package Nodejs, baik yang sudah terinstal maupun yang belum. Cara menggunakan NPX hampir sama seperti NPM.
Testing React Native
- npm install -g expo-cli atau yarn global add expo-cli
- expo init AwesomeProject
- cd AwesomeProject
- npm start atau yarn start atau expo start
untuk menjalankan aplikasi testing react native dengan 2 cara yaitu : melalui localhost port 19006 di web browser atau menggunakan scan QR di aplikasi expo yang sebelumnya harus kita install terlebih dahulu di google play
Testing React.Js
- npx create-react-app my-app
- cd my-app
- npm start
Perintah create-react-app hanya bisa dijalankan dengan npx tidak bisa dengan npm. Untuk menjalankannya baru kita menggunakan npm start. Ditunggu sampai nanti terbuka web browser dengan mengakses localhost port 3000.
Untuk lebih jelasnya silahkan teman-teman buka chanel youtube dibawah ini yang membahas MERN dengan lebih lengkap lagi :
Tutorial MERN Basic Indonesia (Video 1 sampai 3)
Penutup
Semoga artikel pertama ini dapat menambah pemahaman kita mulai dari istilah teknologi yang sedang populer digunakan saat ini. sampai perbedaan cara testing aplikasi react native dan react.js.
Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin
Bogor, 11-01-2022
KangAgus
Filed under: Framework | Tagged: Belajar, ExpressJs, Javascript, Mongodb, NodeJs, Pendahuluan, ReactJs, ReactNative | Leave a comment »