Sunday, December 8, 2019

 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.