Saat membangun situs web untuk bisnis kecil, saya menghadapi dua ekstrem. Tapi hanya saya, sebagai programmer. Pengguna tidak bertabrakan, karena Anda tidak dapat menghadapi sesuatu yang tidak ada untuk Anda. Ekstrem pertama adalah ketika klien membeli hosting lain untuk Wordpress seharga $ 50 per bulan. Seseorang tidak tahu bahwa hosting khusus tidak diperlukan untuk Wordpress, bahwa hosting khusus seperti itu biasanya lebih buruk daripada hosting biasa dan mengandung banyak batasan dan lebih mahal. Ekstrem kedua adalah saat menggunakan tumpukan JAM demi ekonomi. Tetapi ini adalah penghematan dalam arti kata yang buruk, ketika Anda menyimpan korek api, menggunakan generator untuk menyalakan besi solder dari mana Anda menyalakan rokok.
Secara resmi, JAM-stack- Javsacript, API, Markup, pada umumnya template statis diisi dengan data di client melalui API menggunakan Javascript. Sederhananya, tumpukan JAM adalah sekumpulan kruk, yang penggunaannya akan berdampak buruk bagi semua orang, dan terutama bagi pengembang. Secara teknis, JAM stack adalah sistem kruk terintegrasi untuk membangun situs statis, menggunakan SAAS untuk hidrasi dan persistensi data, dan banyak rendering klien. Bagaimana kakek melakukan situs statis di masa muda mereka? Mereka menulis file HTML dan CSS sederhana dan meletakkannya di hosting FTP. Bagaimana ayah kita membuat situs statis selama masa mudanya? Mereka menggunakan Jekyll / Octopress, atau ratusan generator situs statis lainnya, dan file HTML dan CSS yang dihasilkan diunggah ke halaman github melalui komit, dan mereka menautkan domain yang diinginkan.Beberapa kemudian masih mengatur game dengan Disqus, karena saya tidak dapat menamainya dengan cara apa pun selain game, karena pengguna dengan akun Disqus untuk meninggalkan komentar di situs Anda semakin langka.
Dalam hal harga / waktu / kompleksitas kendala dukungan / pengembangan, ini semua adalah pilihan yang baik. Ketika tidak lagi menjadi pilihan yang baik, hosting dengan php dibeli dengan beberapa dolar sebulan. Halaman statis diolok-olok dan memperoleh fungsionalitas yang solid dari situs yang lengkap. Dan semuanya baik-baik saja, tapi Yenisei terbuat dari bir ringan. Tetapi nenek moyang kita yang hebat menemukan pekerjaan normal dan tidak lagi menderita sampah seperti itu. Sekarang kita menderita karenanya, dan apa yang bisa ditawarkan industri ini kepada kita, muda, lucu, untuk siapa semuanya mudah? Dia dengan bangga batuk darah di wajah kita dengan tumpukan JAM, dan berkata: "Kamu tidak akan menunggu!"
JAM stack adalah pendekatan terbaru untuk membangun situs statis, dan Gatsby.JS adalah salah satu nabinya. Gatsby adalah perwakilan paling cemerlang dari genre ini, yang meningkatkan olok-olok gagasan situs statis menjadi absolut, sehingga menerjemahkannya ke dalam kategori postironi. Sebagai permulaan, Gatsby dibangun di atas React. React yang sama yang dibuat untuk situs yang membutuhkan pendekatan berbasis komponen, mis. ada beberapa antarmuka pengguna, yaitu ada manipulasi data. Tapi kami memiliki situs statis, bukan? Tidak? Jawaban mundur! Sekarang ini bukan masalah, kami memiliki layanan seperti Netlify dan Contentful. Mereka memberi Anda kemampuan untuk membuat permintaan AJAX ke server mereka melalui API dan menerima atau menulis konten. Itu. database biasa yang dapat diakses melalui pantat ketiga puluh. Tapi itu gratis. N permintaan pertama, atau pengguna, ditambah batas ukuran blob.Promosi: penuhi semua batasan dan dapatkan bayaran dari pelanggan * (* jumlah percobaan dibatasi).
Mengapa, pada pandangan pertama, terlihat menarik untuk bisnis? Karena React ada di bibir semua orang, dan Reacto-macaques, yang kemarin bisa masuk ke Aichi dan siap bekerja dengan bayaran sangat banyak. Untuk Reacto-macaques, ini menarik karena setidaknya ada cara untuk mengumpulkan uang dan mengisi portofolio. Dan duduk di dekat leher ibu Anda, Anda benar-benar tidak dapat membayar untuk menjadi tuan rumah atau untuk pangkalan. Untuk alasan yang sama, pelanggan yang ragu-ragu dapat, setelah melihat hasilnya, mencari tahu apakah dia benar-benar membutuhkannya, dan berhenti menanggapi pesan dari calon pekerja lepas. Selain itu, pelanggan dan kontraktor disatukan oleh kompetensi yang agak kecil, di mana yang pertama tidak memahami bagaimana semua ini bekerja secara umum, dan yang kedua tidak memahami bahwa situs dapat dilakukan dengan cara lain.
Akibatnya, dengan pengecualian langka, yang nantinya, semua orang kalah. React dan turunannya adalah alat yang kompleks dengan ekosistem besar dan tantangan besar yang seringkali hanya ditangani oleh pemrogram React, bukan monyet React. 10 tahun yang lalu ada tindakan sirkus populer yang disebut "tarik menu dengan semua submenu bersarang dalam satu kueri SQL." Sekarang kami memiliki penerus ideologisnya - untuk menarik semua data dari layanan yang diperlukan melalui satu permintaan GraphQL. Gatsby menarik lebih dari 500 dependensi bersamanya, dan mengetahui kecepatan pembaruan ekosistem JS, kami dapat dengan aman mengatakan bahwa dalam enam bulan sesuatu akan rusak jika Anda memerlukan widget pihak ketiga yang baru. Setelah 2 tahun, Anda akan menggunakan versi curang hanya untuk membangun kembali keajaiban ini menjadi rilis baru. Saya bercanda, bercanda! Ini mungkin tidak dikumpulkan untuk pertama kalinya sesuai dengan instruksi dari situs.Jika Roskomnadzor, dalam ledakan keprihatinan lainnya terhadap warga, memblokir server database tanpa server Anda, atau hanya mengubah tarif, maka Anda harus bersenang-senang dengan semua ini lagi. Ngomong-ngomong, tidak seperti situs statis tradisional, buat situs di Gatsby! == sumber situs. Jadi strategi untuk mencadangkan dan menyebarkan keajaiban ini, termasuk database, dan bahkan tanpa itu, sangat menarik. Tapi bubur akan dimulai jika orang aneh yang diciptakan oleh anak-anak sekolah dengan teknologi bengkok perlu dikembangkan. Percayalah, PHP memiliki batas atas yang jauh lebih rendah untuk kebrutalan kode warisan, tidak peduli apa yang mereka katakan tentang itu!Jadi strategi untuk mencadangkan dan menyebarkan keajaiban ini, termasuk database, dan bahkan tanpa itu, sangat menarik. Tapi bubur akan dimulai jika orang aneh yang diciptakan oleh anak-anak sekolah dengan teknologi bengkok perlu dikembangkan. Percayalah, PHP memiliki batas atas yang jauh lebih rendah untuk kebrutalan kode warisan, tidak peduli apa yang mereka katakan tentang itu!Jadi strategi untuk mencadangkan dan menerapkan keajaiban ini, termasuk database, dan bahkan tanpa itu, sangat menarik. Tapi bubur kertas akan dimulai jika orang aneh yang diciptakan oleh anak-anak sekolah dengan teknologi bengkok perlu dikembangkan. Percayalah, PHP memiliki batas atas yang jauh lebih rendah untuk kebrutalan kode warisan, tidak peduli apa yang mereka katakan tentang itu!
Bagi Anda, sebagai pengembang pemula, tidak menguntungkan menggunakan tumpukan JAM untuk proyek komersial. Pertama, situs statis dengan fungsionalitas minimal adalah bagian paling bawah dari pekerjaan lepas dengan segala sesuatu yang menyertainya dan berbau tidak enak. Kedua, tumpukan JAM adalah penghematan biaya langsung bagi pengembang. Anda akan menghabiskan waktu Anda secara berlebihan untuk mengimbangi kelengkungan alat dan layanan, yang tidak bergantung pada Anda dan untuk menangani yang Anda hanya memiliki sedikit pengalaman. Yang Anda dapatkan di sini tidak akan berguna bagi Anda lebih jauh, karena pelanggan yang membayar akan dapat membayar Anda setidaknya hosting biasa.
Jadi, apa kasus penggunaan yang tepat untuk tumpukan JAM seperti saat ini? Menurut pendapat saya, ini adalah situasi ketika kenalan atau kerabat Anda yang cukup memadai meminta Anda, seorang programmer React yang memiliki pekerjaan dengan gaji tinggi di profil Anda, untuk membuat situs yang relatif sederhana di waktu luang Anda. Dan Anda dapat menggunakan keterampilan yang ada untuk melakukan ini dengan cepat, sambil menjelaskan kepada orang tersebut semua kerugian dari pendekatan ini. Dan jika dia setuju, lanjutkan saja. Jika tidak, beri tahu dia tentang Wordpress dan wp2static.
Kritik dan keberatan diterima. Tapi tolong tunjukkan biaya dan jumlah proyek yang telah Anda lakukan Gatsby, Selanjutnya.