Tren teknologi pengembangan web 2019

pengenalan

Transformasi digital mencakup semakin banyak bidang kehidupan dan bisnis yang berbeda setiap tahunnya. Jika suatu bisnis ingin bersaing, situs informasi biasa saja tidak lagi cukup, diperlukan aplikasi seluler dan web yang tidak hanya memberikan informasi kepada pengguna, tetapi juga memungkinkan mereka melakukan fungsi tertentu: menerima atau memesan barang dan jasa, menyediakan alat.

Tren teknologi pengembangan web 2019

Misalnya, bank modern tidak lagi cukup hanya memiliki situs web yang berisi informasi; mereka perlu memiliki alat online untuk kliennya, akun pribadi di mana pengguna dapat mengelola akun, investasi, dan pinjaman. Bahkan bisnis kecil pun memerlukan alat yang mudah digunakan untuk meningkatkan konversi, seperti membuat janji temu dengan dokter atau penata rambut, atau memesan meja di restoran atau ruang bermain anak-anak untuk pesta ulang tahun.

Dan pemiliknya sendiri perlu menerima informasi tepat waktu dalam bentuk yang mudah tentang keadaan perusahaan mereka, misalnya, pengumpulan data statistik dan analisis untuk berbagai departemen produksi, atau produktivitas departemen. Seringkali, setiap departemen mengumpulkan data ini dengan caranya sendiri, dan bahkan mungkin menggunakan alat yang berbeda dan pemilik perlu menghabiskan banyak waktu pribadi untuk memahami semua ini, secara tidak langsung atau langsung hal ini dapat mempengaruhi efisiensi perusahaan dan pada akhirnya keuntungan. Transformasi digital dan pengembangan aplikasi web atau seluler juga akan membantu dalam hal ini.

Teknologi tidak tinggal diam dan terus berkembang, dan apa yang digunakan beberapa tahun lalu mungkin sudah tidak relevan lagi saat ini, atau apa yang tidak dapat dilakukan beberapa tahun lalu telah menjadi kenyataan. Ada alat yang lebih modern yang membantu Anda membuat aplikasi web dan seluler dengan lebih cepat dan lebih baik. Berdasarkan pengamatan dan pengalaman pribadi, saya ingin berbagi visi saya tentang teknologi dan alat apa yang akan dibutuhkan dalam waktu dekat dan mengapa Anda harus memperhatikannya saat membuat aplikasi web modern.

Aplikasi satu halaman

Mari kita definisikan sedikit terminologinya. Single Page Application (SPA) adalah aplikasi web yang komponennya dimuat satu kali pada satu halaman, dan kontennya dimuat sesuai kebutuhan. Dan saat berpindah antar bagian aplikasi, halaman tidak memuat ulang sepenuhnya, tetapi hanya memuat dan menampilkan data yang diperlukan.

Aplikasi satu halaman mendapatkan keuntungan besar dari aplikasi web klasik dalam hal kecepatan dan kemudahan penggunaan. Dengan bantuan SPA, Anda dapat mencapai efek situs web yang berfungsi seperti aplikasi di desktop, tanpa reboot dan penundaan yang signifikan.

Jika beberapa tahun yang lalu aplikasi satu halaman praktis tidak mendukung optimasi mesin pencari dan digunakan terutama untuk membuat akun pribadi dan panel administrasi, kini membuat aplikasi satu halaman dengan dukungan penuh untuk optimasi mesin pencari (SEO) menjadi jauh lebih mudah. Dengan menggunakan aplikasi satu halaman yang dirender server saat ini, masalah ini telah hilang sepenuhnya. Dengan kata lain, ini adalah aplikasi satu halaman yang sama, tetapi pada permintaan pertama, server tidak hanya menghasilkan data, tetapi juga membuat halaman HTML yang siap untuk ditampilkan dan mesin pencari menerima halaman siap pakai dengan semua informasi meta dan markup semantik .

Dengan berkembangnya alat untuk membuat aplikasi web sisi klien, pengembangan dan transisi ke aplikasi satu halaman hanya akan berkembang di tahun ini dan tahun-tahun berikutnya. Jika Anda memiliki aplikasi lama yang ketinggalan jaman dan bekerja lambat, dan bahkan dengan halaman yang dimuat ulang sepenuhnya saat berpindah antar bagian, maka tahun ini Anda dapat dengan aman meningkatkan ke aplikasi satu halaman yang cepat - sekarang adalah saat yang tepat, teknologi sudah memungkinkan Anda untuk melakukan ini dengan cukup cepat dan efisien.

Memiliki situs web yang modern dan cepat memang sangat bagus, namun izinkan saya memberi tahu Anda dengan jujur: tidak semua aplikasi dapat dengan mudah dikonversi ke aplikasi satu halaman, dan transisinya bisa mahal! Oleh karena itu, Anda perlu memahami siapa yang membutuhkan transisi tersebut dan mengapa.

Untuk membantu Anda memahaminya, pada tabel di bawah ini saya akan memberikan beberapa contoh kapan pengembangan atau peralihan ke SPA tepat dan dibenarkan, dan kapan tidak.

UNTUK

Jika Anda ingin membuat aplikasi yang modern, cepat dan ingin menggunakan tidak hanya versi web, tetapi juga versi seluler atau bahkan desktop, dan semua proses dan perhitungan dilakukan di server jarak jauh atau cloud. Selain itu, agar semua klien memiliki satu antarmuka interaksi dan tidak perlu melakukan setiap pengeditan pada kode server saat menambahkan klien baru.

Misalnya: jejaring sosial, agregator, platform SaaS (perangkat lunak sebagai layanan cloud), pasar

Jika Anda memiliki toko atau layanan web, Anda tahu bahwa itu lambat dan orang-orang meninggalkannya, Anda ingin membuatnya lebih cepat, Anda memahami nilai pelanggan dan siap membayar lebih dari satu juta rubel untuk peningkatan.

Anda memiliki aplikasi seluler yang menggunakan API situs, namun situsnya lambat dan kontennya dimuat ulang secara lengkap saat berpindah antar halaman

MELAWAN

Jika audiens target Anda tidak menggunakan browser dan perangkat modern.

Misalnya: bidang perusahaan tertentu, seperti pengembangan sistem internal bank, institusi kesehatan, dan pendidikan.

Anda melakukan aktivitas utama Anda secara offline dan belum siap memberikan layanan apa pun secara online, dan Anda hanya perlu menarik klien.

Jika Anda memiliki toko online atau layanan web yang sudah terjual dengan baik, Anda tidak akan melihat arus keluar atau keluhan pelanggan

Jika Anda memiliki aplikasi yang berfungsi yang tidak dapat diadaptasi untuk SPA dan Anda hanya perlu menulis ulang semuanya dari awal dan menggunakan teknologi lain, dan Anda belum siap menghabiskan beberapa juta untuk ini.

Misalnya: Ada situs dalam kotak atau semacam kode monolitik kuno yang ditulis sendiri.

Aplikasi Web Progresif

Aplikasi Web Progresif adalah produk evolusi gabungan antara aplikasi asli dan situs web. Pada dasarnya, ini adalah aplikasi web yang terlihat dan berperilaku seperti aplikasi asli asli, dapat menerima pemberitahuan push, bekerja dalam mode offline, dll. Dalam hal ini, pengguna tidak perlu mengunduh aplikasi dari AppStore atau Google Play, melainkan cukup menyimpannya ke desktop.

Sebagai sebuah teknologi atau pendekatan pengembangan, PWA telah berkembang sejak tahun 2015, dan belakangan ini mendapatkan popularitas yang sangat besar di bidang e-commerce.

Beberapa contoh kehidupan nyata:

  • tahun lalu, hotel Best Western River North mampu meningkatkan pendapatan sebesar 300% setelah meluncurkan situs web baru yang mendukung PWA;
  • Avito OpenSooq.com dalam bahasa Arab, setelah membuat dukungan PWA di situsnya, mampu meningkatkan waktu mengunjungi situs sebesar 25% dan jumlah prospek sebesar 260%;
  • layanan kencan terkenal Tinder mampu mengurangi kecepatan pemuatan dari 11.91 detik menjadi 4.69 detik dengan mengembangkan PWA; terlebih lagi, bobot aplikasinya 90% lebih ringan dibandingkan aplikasi Android aslinya.

Fakta bahwa teknologi ini patut diperhatikan juga ditunjukkan oleh fakta bahwa salah satu mesin terbesar untuk membuat proyek e-commerce, Magento, meluncurkan versi pengembangan awal PWA Studio pada tahun 2018. Platform ini memungkinkan Anda membuat frontend berbasis React untuk solusi e-commerce Anda dengan dukungan PWA.

Saran bagi mereka yang sudah memiliki proyek Internet atau hanya ide untuk layanan baru dengan dukungan perangkat seluler: jangan terburu-buru menulis aplikasi asli yang lengkap, tetapi lihat dulu teknologi PWA. Ini mungkin solusi nilai uang terbaik untuk produk Anda.

Sedikit dari latihan. Untuk membuat aplikasi berita seluler asli yang sederhana, asalkan Anda sudah memiliki server REST yang siap pakai, Anda memerlukan sekitar 200-300 jam kerja per platform. Dengan harga pasar rata-rata untuk satu jam pengembangan adalah 1500-2000 rubel/jam, sebuah aplikasi dapat menelan biaya sekitar 1 juta rubel. Jika Anda mengembangkan aplikasi web dengan dukungan penuh PWA: pemberitahuan push, mode offline, dan fasilitas lainnya, pengembangan akan memakan waktu 200-300 jam kerja, tetapi produk akan segera tersedia di semua platform. Artinya, penghematan kurang lebih 2 kali lipat, belum lagi Anda tidak perlu membayar biaya penempatan di toko aplikasi.

Tanpa Server

Ini adalah pendekatan modern lainnya terhadap pembangunan. Karena namanya, banyak orang berpikir bahwa ini benar-benar pengembangan tanpa server, tidak perlu menulis kode back-end, dan pengembang front-end mana pun dapat membuat aplikasi web yang lengkap. Tapi itu tidak benar!

Saat membuat aplikasi Serverless, Anda tetap memerlukan server dan database. Perbedaan utama dari pendekatan ini adalah kode back-end disajikan dalam bentuk fungsi cloud (nama lain untuk serverless adalah FaaS, berfungsi sebagai layanan atau Functions-as-a-Service) dan memungkinkan aplikasi untuk menskalakan dengan cepat dan dengan mudah. Saat membuat aplikasi seperti itu, pengembang mungkin fokus pada masalah bisnis dan tidak memikirkan penskalaan dan penyiapan infrastruktur, yang selanjutnya mempercepat pengembangan aplikasi dan mengurangi biayanya. Selain itu, pendekatan Tanpa Server akan membantu Anda menghemat sewa server, karena pendekatan ini menggunakan sumber daya sebanyak yang diperlukan untuk menyelesaikan tugas, dan jika tidak ada beban, maka waktu server tidak digunakan sama sekali dan tidak dibayar.

Misalnya, perusahaan media besar Amerika, Bustle, mampu mengurangi biaya hosting lebih dari 60% ketika beralih ke Tanpa Server. Dan perusahaan Coca-Cola, ketika mengembangkan sistem otomatis untuk menjual minuman melalui mesin penjual otomatis, mampu mengurangi biaya hosting dari $13000 menjadi $4500 per tahun dengan beralih ke Tanpa Server.

Selama beberapa tahun terakhir, karena kebaruan dan keterbatasannya, Tanpa Server terutama digunakan untuk proyek-proyek kecil, startup, dan MVP, namun saat ini, berkat evolusi perangkat lunak, keserbagunaan, dan kekuatan containerisasi server, bermunculan alat-alat yang memungkinkan Anda menghilangkan batasan, menyederhanakan dan mempercepat pengembangan aplikasi cloud.
Ini berarti bahwa skenario bisnis perusahaan di mana modernisasi cloud sebelumnya dianggap mustahil (misalnya, untuk perangkat edge, data dalam transit, atau aplikasi stateful) kini menjadi kenyataan. Alat bagus yang menunjukkan banyak harapan adalah perusahaan kNative dan Tanpa Server.

Namun terlepas dari semua ini, Tanpa Server bukanlah solusi terbaik untuk pengembangan aplikasi web. Seperti teknologi lainnya, teknologi ini memiliki kelebihan dan kekurangan, dan Anda harus memilih alat ini dengan pemahaman, dan β€œtidak memalu paku dengan mikroskop” hanya karena teknologinya lebih maju.

Untuk membantu Anda memahaminya, berikut beberapa contoh saat Anda mungkin ingin mempertimbangkan Tanpa Server saat mengembangkan layanan web baru atau menyempurnakan layanan web saat ini:

  • Ketika beban di server bersifat periodik dan Anda membayar untuk kapasitas menganggur. Misalnya, kami memiliki klien dengan jaringan mesin kopi dan kami hanya perlu memproses permintaan dan mengumpulkan statistik beberapa ratus atau ribuan kali sehari, dan pada malam hari jumlah permintaan turun menjadi beberapa lusin. Dalam hal ini, jauh lebih efisien untuk membayar hanya untuk penggunaan sumber daya yang sebenarnya, jadi kami mengusulkan dan menerapkan solusi Tanpa Server;
  • Jika Anda tidak berencana mendalami detail teknis infrastruktur dan membayar lebih untuk menyiapkan dan memelihara server dan penyeimbang. Misalnya, ketika mengembangkan pasar, Anda tidak tahu persis apa lalu lintasnya, atau sebaliknya - Anda merencanakan banyak lalu lintas dan agar aplikasi Anda dapat menahan beban tersebut, maka Tanpa Server adalah pilihan yang sangat baik.
  • Jika Anda perlu melakukan beberapa acara streaming di aplikasi utama, tulis data sampingan ke dalam tabel, lakukan beberapa perhitungan. Misalnya, mengumpulkan data analitis dari tindakan pengguna, memprosesnya dengan cara tertentu dan menyimpannya dalam database;
  • Jika Anda perlu menyederhanakan, menyatukan atau mempercepat pengoperasian aplikasi saat ini. Misalnya, membuat layanan peningkatan kinerja untuk bekerja dengan gambar atau video, saat pengguna mengunggah video ke cloud, dan fungsi terpisah menangani transcoding, sementara server utama terus beroperasi seperti biasa.

Jika Anda perlu memproses acara dari layanan pihak ketiga. Misalnya memproses respon dari sistem pembayaran, atau mengalihkan data pengguna ke CRM untuk mempercepat pemrosesan permintaan dari calon klien
Jika Anda memiliki aplikasi berukuran besar dan beberapa bagian aplikasi dapat diimplementasikan dengan lebih maksimal menggunakan bahasa yang berbeda dari bahasa utama. Misalnya, Anda memiliki proyek di Java dan Anda perlu menambahkan fungsionalitas baru, tetapi Anda tidak memiliki kebebasan, atau implementasi dalam bahasa tertentu mungkin memerlukan waktu lebih lama dan sudah ada solusi dalam bahasa lain, maka Tanpa Server dapat membantu dengan ini juga.

Ini bukan keseluruhan daftar alat dan teknologi yang patut mendapat perhatian; Saya hanya berbagi apa yang kita gunakan setiap hari dalam pekerjaan kita dan tahu persis bagaimana mereka dapat membantu bisnis.

Sumber: www.habr.com

Tambah komentar