Search by

    Terakhir diperbaharui: Jan 27, 2021

    Intro

    Sebelumnya materi ini bernama Transform App, silahkan lihat halaman updates untuk lebih lengkapnya

    Pada materi Build Scalable App ini kita akan membuat ulang aplikasi DinoTes menggunakan stack yang berbeda agar aplikasi DinoTes lebih scalable.

    Sebuah aplikasi dikatakan scalable jika mampu mengatasi pertumbuhan atau pertambahan beban/load tanpa mengurangi kualitas.

    Kenapa harus mengganti stack?

    Ada beberapa alasan...

    Pertama,

    Mengganti stack atau framework suatu aplikasi adalah sesuatu yang biasa terjadi di dalam proses pengembangan atau development aplikasi, hal ini bisa disebabkan oleh banyak hal seperti:

    • stack yang digunakan sekarang sudah tidak relevan dengan kebutuhan user
    • terlalu banyak bug
    • tidak lagi kompatible
    • sudah tidak lagi disupport oleh pembuat stack dll.

    Kedua,

    Perkembangan dunia teknologi terutama di bidang pemrograman yang sangat dinamis dan bergerak cepat.

    Hanya dalam waktu satu tahun muncul bahasa pemrograman, framework dan library baru yang semuanya dibuat untuk membantu menyelesaikan masalah di dunia pemrograman yang begitu banyak dan kompleks.

    Tetapi bukan berarti setiap muncul yang baru kita harus segera menguasai dan langsung menggunakannya.

    Sebagai seorang software developer atau programmer kita harus punya kemampuan adaptasi yang baik menghadapai perkembangan yang ada.

    Pikiran harus selalu terbuka...

    Meskipun stack yang kita gunakan pada aplikasi yang sekarang sudah sangat memadai dalam menyelesaikan masalah atau memenuhi kebutuhan user, tetapi tidak menutup kemungkinan stack yang baru muncul ternyata memiliki pendekatan yang lebih baik dalam menyelesaikan masalah.

    Contohnya adalah jQuery dan React...

    Aplikasi yang dibuat menggunakan jQuery sampai saat ini masih sangat banyak dan sebagian besar aplikasi tersebut dapat digunakan dengan baik, tetapi makin lama makin banyak aplikasi dibuat menggunakan javascript framework seperti React, Vue & Angular. Dan tidak sedikit aplikasi yang awalnya menggunakan jQuery di buat ulang dengan menggunakan JavaScript framework.

    Hal ini dikarenakan JavaScript framework memberikan pendekatan yang lebih baik dalam membuat sebuah aplikasi JavaScript dan menawarkan dukungan ekosistem yang luar biasa.

    Ketiga,

    Cara membuat aplikasi seperti yang kita lakukan sebelumnya bisa dilakukan dengan langkah-langkah yang lebih 'ringkas' dan cepat.

    Pilihan Stack

    Kita akan menggunakan stack yang berbeda kecuali untuk CSS framework.

    Stack yang akan kita gunakan adalah Next JS + TailwindCSS + AWS Amplify.

    Next JS + TailwindCSS digunakan untuk Front End sedangkan AWS Amplify digunakan untuk Back End, termasuk di dalamnya API, database, storage, hosting dan authentication. Penggunaan AWS Amplify disini yang akan membuat aplikasi menjadi lebih scalable (kita akan bahas detailnya nanti).

    dinotes app arch scalable

    Berbeda dengan sebelumnya dimana stack yang kita gunakan adalah:

    • React + Styled Components + TailwindCSS + Redux (untuk membuat UI)
    • Express.js (untuk membuat API)
    • Passport.js (untuk autentikasi)
    • MongoDB (untuk database)
    • Heroku/AWS LisghtSail (untuk deployment/hosting).

    dinotes app arch 2

    Selanjutnya kita perlu membahas stack yang akan kita gunakan dalam membuat aplikasi DinoTes yang scalable: