REACT JS DAN FIREBASE · Apa itu
react js ?
React JS adalah sebuah pustaka/library javascript yang bersifat
opensource untuk membangun User Interface yang dibuat oleh Facebook. React JS
hanya mengurusi semua hal yang berkaitan dengan tampilan dan logika di
sekitarnya. React JS ini diciptakan dengan tujuan untuk :“Membangun aplikasi skala besar dengan data yang berubah dan terus
berubah dari waktu ke waktu.” · Keunggulan
react js ?
1. Mudah dipahami
Gaya penulisan yang deklaratif membuat react js mudah dipahami dan membuat
react mudah di prediksi jika ada kesalahan penulisan kode.
Gaya penulisan yang deklaratif membuat react js mudah dipahami dan membuat
react mudah di prediksi jika ada kesalahan penulisan kode.
Gaya penulisan yang deklaratif membuat react js mudah dipahami dan membuat
react mudah di prediksi jika ada kesalahan penulisan kode.2. JSX
JSX adalah sebuah extension javascript yang di gunakan react untuk menulis HTML
di dalam Javascript. JSX bukanlah sintaks javascript, sehingga browser tidak
bisa membaca sintaks ini, di butuh kan sebuah JSX compiler yang di gunakan
untuk menterjemahkan JSX kedalam bahasa regular javascript agar bisa terbaca
oleh browser. Saya sendiri menggunakan
JSX adalah sebuah extension javascript yang di gunakan react untuk menulis HTML
di dalam Javascript. JSX bukanlah sintaks javascript, sehingga browser tidak
bisa membaca sintaks ini, di butuh kan sebuah JSX compiler yang di gunakan
untuk menterjemahkan JSX kedalam bahasa regular javascript agar bisa terbaca
oleh browser. Saya sendiri menggunakan
JSX adalah sebuah extension javascript yang di gunakan react untuk menulis HTML
di dalam Javascript. JSX bukanlah sintaks javascript, sehingga browser tidak
bisa membaca sintaks ini, di butuh kan sebuah JSX compiler yang di gunakan
untuk menterjemahkan JSX kedalam bahasa regular javascript agar bisa terbaca
oleh browser. Saya sendiri menggunakan BABEL JS sebagai JSX compilernya.
3. Modular
Untuk membuat aplikasi dengan skala besar, kita dapat menulis kode-kode dengan
skala yang lebih kecil untuk di satukan menjadi aplikasi utuh, dan dapat di
gunakan kembali (reusable).
Untuk membuat aplikasi dengan skala besar, kita dapat menulis kode-kode dengan
skala yang lebih kecil untuk di satukan menjadi aplikasi utuh, dan dapat di
gunakan kembali (reusable).
Untuk membuat aplikasi dengan skala besar, kita dapat menulis kode-kode dengan
skala yang lebih kecil untuk di satukan menjadi aplikasi utuh, dan dapat di
gunakan kembali (reusable).4. Scalable
React js dapat menangani dengan sangat baik sebuah program dengan skala yang
besar yang dapat menampilkan perubahan data yang sangat kompleks.
React js dapat menangani dengan sangat baik sebuah program dengan skala yang
besar yang dapat menampilkan perubahan data yang sangat kompleks.
React js dapat menangani dengan sangat baik sebuah program dengan skala yang
besar yang dapat menampilkan perubahan data yang sangat kompleks.5. Flexibel
Dengan belajar 1 libary saja kita dapat membuat aplikasi Web, Moblie, maupun
Desktop.
Dengan belajar 1 libary saja kita dapat membuat aplikasi Web, Moblie, maupun
Desktop.
Dengan belajar 1 libary saja kita dapat membuat aplikasi Web, Moblie, maupun
Desktop.6. Effisien dan Cepat
React JS menciptakan Virtual DOM untuk mempercepat urusan perubahan DOM. Semua
operasi di kerjakan di dalam Virtual DOM, setelah operasi selesai React JS
menulis perubahan tersebut di dalam DOM. Contoh kasusnya seperti ini: “Jika
kita menulis dalam secarik kertas menggunakan spidol, apabila terjadi kesalahan
penulisan kita harus menulis di kertas yang baru. Berbeda jika kita menggunakan
pensil, cukup menghapus dan memperbaiki pada bagian yang salah ”.
React JS menciptakan Virtual DOM untuk mempercepat urusan perubahan DOM. Semua
operasi di kerjakan di dalam Virtual DOM, setelah operasi selesai React JS
menulis perubahan tersebut di dalam DOM. Contoh kasusnya seperti ini: “Jika
kita menulis dalam secarik kertas menggunakan spidol, apabila terjadi kesalahan
penulisan kita harus menulis di kertas yang baru. Berbeda jika kita menggunakan
pensil, cukup menghapus dan memperbaiki pada bagian yang salah ”.
React JS menciptakan Virtual DOM untuk mempercepat urusan perubahan DOM. Semua
operasi di kerjakan di dalam Virtual DOM, setelah operasi selesai React JS
menulis perubahan tersebut di dalam DOM. Contoh kasusnya seperti ini: “Jika
kita menulis dalam secarik kertas menggunakan spidol, apabila terjadi kesalahan
penulisan kita harus menulis di kertas yang baru. Berbeda jika kita menggunakan
pensil, cukup menghapus dan memperbaiki pada bagian yang salah ”.7. Mudah Debugging
Ketika kita mulai menggunakan React JS, jangan lupa menginstall extensi resmi React JS. Kita dapat
dengan mudah menjelejah Virtual DOM pada aplikasi yang sudah kita buat,
sehingga jika ada bug bisa cepat ditemukan.
Ketika kita mulai menggunakan React JS, jangan lupa menginstall extensi resmi React JS. Kita dapat
dengan mudah menjelejah Virtual DOM pada aplikasi yang sudah kita buat,
sehingga jika ada bug bisa cepat ditemukan.
Ketika kita mulai menggunakan React JS, jangan lupa menginstall extensi resmi React JS. Kita dapat
dengan mudah menjelejah Virtual DOM pada aplikasi yang sudah kita buat,
sehingga jika ada bug bisa cepat ditemukan.8. SEO Bagus
Salah satu masalah terbesar dari library Javascript pada umumnya adalah mereka
sidak support search engine. Meskipun sudah banyak perbaikan, mesin pencari
umumnya masih mengalami kesulitan. Namun tidak dengan React JS, kita dapat
menjalankan React JS pada server dan Virtual DOM diberikan ke browser sebagai
halaman web biasa, sehingga sangat support SEO.
Salah satu masalah terbesar dari library Javascript pada umumnya adalah mereka
sidak support search engine. Meskipun sudah banyak perbaikan, mesin pencari
umumnya masih mengalami kesulitan. Namun tidak dengan React JS, kita dapat
menjalankan React JS pada server dan Virtual DOM diberikan ke browser sebagai
halaman web biasa, sehingga sangat support SEO.
Salah satu masalah terbesar dari library Javascript pada umumnya adalah mereka
sidak support search engine. Meskipun sudah banyak perbaikan, mesin pencari
umumnya masih mengalami kesulitan. Namun tidak dengan React JS, kita dapat
menjalankan React JS pada server dan Virtual DOM diberikan ke browser sebagai
halaman web biasa, sehingga sangat support SEO.· Kelemahan
react js
Meskipun React JS sangat powerfull, namun juga memiliki beberapa
kelemahan antara lain:1. Hanya View Layer
React js hanya sebuah pustaka View Layer, untuk membangun aplikasi besar kita
harus menyusun sendiri kebutuhan aplikasi lainya seperti data layer, router,
struktur aplikasi dan event system(kecuali event DOM).
React js hanya sebuah pustaka View Layer, untuk membangun aplikasi besar kita
harus menyusun sendiri kebutuhan aplikasi lainya seperti data layer, router,
struktur aplikasi dan event system(kecuali event DOM).
React js hanya sebuah pustaka View Layer, untuk membangun aplikasi besar kita
harus menyusun sendiri kebutuhan aplikasi lainya seperti data layer, router,
struktur aplikasi dan event system(kecuali event DOM).2. Dokumentasi tidak bagus
Beberapa sumber artikel yang saya baca mengatakan bahwa dokumentasi react js
tidak bagus karena informasi yang di berikan tidak lengkap, meskipun seperti
itu kita tetap bisa mempelajarinya kok, tentunya dengan semangat dan ketekunan.
Beberapa sumber artikel yang saya baca mengatakan bahwa dokumentasi react js
tidak bagus karena informasi yang di berikan tidak lengkap, meskipun seperti
itu kita tetap bisa mempelajarinya kok, tentunya dengan semangat dan ketekunan.
Beberapa sumber artikel yang saya baca mengatakan bahwa dokumentasi react js
tidak bagus karena informasi yang di berikan tidak lengkap, meskipun seperti
itu kita tetap bisa mempelajarinya kok, tentunya dengan semangat dan ketekunan.3. Permasalahan lisensi
Baru-baru ini muncul
Baru-baru ini muncul
Baru-baru ini muncul issue tentang lisensi react. Sebetulnya issue ini
sudah ada sejak 2015, namun tampaknya ada pihak-pihak yang belum puas dan
mempermasalahkanya. Menurut pemahaman saya bahwa “facebook
memperbolehkan kita menggunakan react js untuk mengembangkan produk kita dengan
catatan tidak untuk berkompetisi dengan produknya facebook”. Tapi
sebenarnya ini tidak masalah , temen-teman bisa baca penjelasanya detail disini.
4. Dukungan browser
React js tidak mendukung browser versi lama, hanya browser versi baru. React js
menghentikan dukungan pada browser Internet Explorer versi 8, sampai saat ini
react yang bisa jalan di IE 8 adalah react versi v0.14. Versi terbaru dari
react hanya mendukung Internet Explorer versi 9 keatas.
React js tidak mendukung browser versi lama, hanya browser versi baru. React js
menghentikan dukungan pada browser Internet Explorer versi 8, sampai saat ini
react yang bisa jalan di IE 8 adalah react versi v0.14. Versi terbaru dari
react hanya mendukung Internet Explorer versi 9 keatas.
React js tidak mendukung browser versi lama, hanya browser versi baru. React js
menghentikan dukungan pada browser Internet Explorer versi 8, sampai saat ini
react yang bisa jalan di IE 8 adalah react versi v0.14. Versi terbaru dari
react hanya mendukung Internet Explorer versi 9 keatas. ·
FIREBASE
Firebase
merupakan salah satu layanan dari Google yang memudahkan para app
developer dalam mengembangkan aplikasi mereka. Firebase
termasuk ke dalam kategori Baas (Backend as a Service).
·
Develop
Saat mengembangkan aplikasi pertama
kali dan ingin menggunakan Firebase kita bisa menggunakan beberapa fitur
seperti dibawah ini, yaitu :
- Authentication : Sekarang
sebagian besar aplikasi ingin mengetahui identitas penggunanya sehingga
nanti aplikasi dapat menyimpan data pengguna secara aman di cloud dan
memberikan pengalaman personal yang sama di setiap perangkat pengguna.
Fitur ini menyediakan layanan backend dengan SDK yang mudah dan siap
digunakan untuk mengautentikasi pengguna ke aplikasi anda. Jadi dengan
menggunakan fitur ini kita bisa membuat login menggunakan gmail, facebook,
twitter dan lainnya.
- Hosting : Firebase
Hosting yaitu layanan hosting konten web yang berkelas produksi untuk para
pengembang aplikasi. Kita bisa menerapkan aplikasi web serta menyajikan
konten statis ataupun dinamis ke CDN global secara cepat hanya dengan satu
perintah saja.
- Cloud Storage : Fitur
ini dibuat untuk para pengembang aplikasi yang ingin menyimpan dan
menampilkan konten buatan pengguna seperti image dan video.
- Realtime
Database : Fitur Firebase Realtime Database yaitu database yang di
host di cloud. Nantinya data akan disimpan sebagai JSON kemudian
disinkronkan secara realtime ke setiap client yang sudah terhubung. Saat
kita membuat aplikasi lintas platform dengan SDK Android, IOS, maupun
JavaScript, semua client akan berbagi sebuah instance realtime database
lalu menerima update data terbaru secara otomatis.
StabilitasUntuk menstabilkan aplikasi kita
yang sudah menggunakan layanan Firebase kita juga bisa menggunakan fitur-fitur
dibawah ini, antara lain :
- Crashlytics : Fitur
ini bisa melaporkan kerusakan yang ringan dan bekerja secara realtime
untuk membantu developer melacak, memprioritaskan, dan memperbaiki masalah
pada aplikasi yang sudah dibuat. Dengan menggunakan fitur ini kita bisa menghemat
waktu pemecahan masalah.
- Performance
Monitoring : Dengan
fitur ini kita bisa memperoleh laporan tentang seberapa baguskah performa
aplikasi Android atau iOS yang sudah kita buat.
- Test Lab : Fitur ini
digunakan untuk pengujian aplikasi berbasis cloud. Dengan satu operasi
saja kita bisa menguji aplikasi di berbagai perangkat dan konfigurasi
perangkat.
GrowSetelah aplikasi stabil dan ingin
menumbuhkan pengguna atau berlanjut ke sistem bisnis kita bisa menggunakan
fitur-fitur untuk grow dari firebase, diantaranya :
- In App Messaging : Fitur
ini membantu mempertahankan pengguna aktif aplikasi yang sudah kita
publish dengan mengiriman pesan. Misalnya kita bisa mengirimkan pesan agar
pengguna menonton video, membeli barang, dan lainnya.
- Google Analytics : Fitur
ini adalah solusi gratis dan tidak terbatas untuk menganalisi aplikasi
kita. Firebase sendiri telah menyediakan pelaporan hingga 500 peristiwa
dan tak terbatas. Dengan menggunakan fitur ini kita bisa paham bagaimana
perilaku user secara rinci, jadi kita bisa mengambil keputusan untuk
memasarkan aplikasi secara optimal.
- A/B Testing : Fitur
ini berfungsi untuk membantu developer mengoptimalkan pengalaman aplikasi
dengan menjadikannya mudah dijalankan, dianalisis, juga mengukur
eksperimen produk dalam hal marketing. Disini kita bisa menguji perubahan
UI, fitur, dan kampanye interaksi.
- Cloud Messaging : Fitur
ini disebut juga Firebase Cloud Messaging (FCM) merupakan fitur yang
berfungsi untuk pengiriman pesan lintas platform yang memungkinkan kita bisa
mengirimkan pesan dengan terpercaya dan tanpa biaya sepeserpun.
- Remote
Config : Fitur ini
merupakan layanan cloud yang bisa kita gunakan untuk mengubah perilaku dan
tampilan aplikasi tanpa harus pengguna mendownload update aplikasi.