Kita perlu membuat web dari awal

gambar




Evolusi web selama dekade terakhir mencerminkan perkembangan ekonomi Amerika. Semua indikator utama bergerak naik dan ke kanan pada grafik, aliran terobosan fundamental yang stabil memberikan kesan "kemajuan", tetapi pada kenyataannya, kegunaan dan dampak teknologi pada orang-orang mengalami stagnasi atau bahkan kemunduran.



Krisis ini memengaruhi platform, pembuat, dan konsumen.



Saya akan mencoba menganalisis dan mendiagnosis situasi ini sedikit. Jika Anda hanya ingin membaca pidato saya yang berpikiran sempit dan non-profesional tentang perlunya memulai ulang web, Anda dapat melewati bagian ini. Idenya adalah kita dapat memilih format markup ringan (penurunan harga) baru untuk menggantikan HTML dan CSS, membagi web menjadi dokumen dan aplikasi web, mendapatkan kembali kecepatan, aksesibilitas, dan daya tarik web.



Posting ini menggunakan definisi bertele-tele dari "web". Beberapa kali saya telah berbicara tentang upaya untuk menemukan kembali "Internet". Proyek seperti dat, IPFS, dan arweave dirancang untuk menemukan kembali Internet atau lapisan transport dan data transportnya. Web berada di atas lapisan ini: HTML, CSS, URL, JavaScript, browser.



Kerusakan platform



Minggu lalu, ada perubahan platform penting - Mozilla memberhentikan 250 karyawan dan mengatakan itu akan mempengaruhi pengembangan Firefox. Browser Firefox bukanlah browser terpopuler kedua - Safari, terutama karena penonton "paksa" dari pemilik iPhone dan iPad. Namun, itu adalah browser paling populer yang dipilih orang .





Bagan dari statcounter



Pemenang sebenarnya bukanlah Chrome itu sendiri, tetapi mesin Chrome. Satu basis kode KHTML dibagi menjadi WebKit (Safari) dan Blink (Chrome, Microsoft Edge, Opera, dll.)



Dalam praktiknya, seperti inilah definisi buku teks tentang "monokultur". Di satu sisi, ini adalah kemenangan dalam hal kolaborasi, karena tidak ada yang perlu "membuang waktu" untuk bersaing implementasi, dan pengembang web menghadapi fitur dan bug yang sama di semua browser. Namun dalam arti yang lebih dalam, ini mengancam prinsip dasar evolusi web.



Spesialisasi dan implementasi





Web telah berkembang dengan menggabungkan spesifikasi dan implementasi . Organisasi seperti WHATWG , W3C, dan IETF telah menjadi ruang bagi pengembang independen, perusahaan, dan akademisi untuk berkolaborasi guna mendiskusikan potensi kemampuan web baru. Peramban telah menguji ide mereka pada banyak penerapan yang berbeda.



Itu adalah bagian struktur yang menarik: sistem seperti itu memastikan bahwa kita semua dapat berkembang bersama, dan salah satu tujuan kita adalah dapat berkontribusi ke web bagi banyak kontributor. Itu membuat kami kesal saat di caniusesel kosong muncul, tetapi gagasan umumnya adalah bahwa meskipun browser yang berbeda mungkin lebih baik dalam aspek yang berbeda, cepat atau lambat mereka akan saling menyusul. Chrome bukanlah browser pertama yang memperkenalkan fitur dan pengoptimalan baru.



Bekerja dalam kolaborasi memang lebih lambat daripada bekerja sendiri, tetapi itu membawa manfaat yang hilang hari ini. Chrome telah berkembang sangat cepat, menambahkan spesifikasi dan ide baru dengan kecepatan luar biasa, menjadi salah satu produk perangkat lunak yang paling sulit untuk dibuat ulang.



Menurut saya, Mike Healy mengatakan yang terbaik :



Tidakkah menurut Anda web secara praktis "dimonopoli" dalam hal kompleksitas jika mesin rendering hanya mampu membuat satu atau dua organisasi untuk itu?


Saat ini, bukan hanya hampir tidak mungkin membuat browser baru dari awal - jika Anda melakukannya, perlombaan terus-menerus untuk menerapkan standar baru akan membutuhkan seluruh tim spesialis. Anda dapat membaca tentang ini di artikel Drew DeWalt. Peramban web harus berhenti ; Saya juga merekomendasikan membaca materi lainnya.



Bagaimana dengan Flow?
, Flow, . , , - , vaporware.


Tantangan bagi pencipta



Menjadi jauh lebih sulit bagi web untuk mendesain.



Web hanya tumbuh selama 25 tahun, hanya memiliki sedikit peluang untuk menyusut, dan saat ini berada di bawah pengaruh budaya pertumbuhan ekonomi dan karier yang sangat berpandangan sempit tanpa rencana jangka panjang. Ada banyak cara untuk mengimplementasikan sesuatu, dan beberapa cara paling populer untuk membuat aplikasi di web, menurut saya, biasanya sangat, terlalu kuat.



Cara terbaik untuk memasuki pengembangan web pada tahun 2020 adalah dengan memilih ceruk seperti Vue.js atau React dan berharap memiliki pakar CSS di tim.



Ada serangkaian teknologi yang membingungkan di luar sana bagi mereka yang hanya ingin membuat halaman web daripada berusaha masuk ke dalam industri, tetapi yang paling sederhana dan mungkin yang terbaik dari mereka mendapat stigma. Orang lebih cenderung menulis resume React dengan GraphQL daripada mereka mengetik HTML ke Notepad.



Masalah bagi konsumen



Kami berharap semua inovasi diciptakan untuk kepentingan pengguna , tetapi seringkali tidak demikian. Sepertinya situs web modern adalah yang terbesar, paling lambat, dan paling bermasalah dalam sejarah web. Komputer kami hampir tidak menjadi lebih cepat dan kecepatan koneksi internet kami mandek (bahkan tidak mencoba mengatakan apa pun tentang 5G). Pertumbuhan ukuran halaman web melampaui pertumbuhan semua parameter lainnya.



Karena semua ini, saya tidak lagi mengharapkan halaman menjadi cepat bahkan dengan uBlock diinstal di Firefox dan penyedia fiber lokal yang baik.



Tapi saya tidak ingin menyalahkan para pengembang web ini untuk semuanya.... Saya dapat berbagi cerita yang agak lucu dari tempat kerja saya sebelumnya. Kami mengumpulkan data tentang interaksi pengguna dengan situs untuk menjawab pertanyaan sederhana seperti "apakah orang mengeklik tombol untuk mengunggah file ke server, atau apakah mereka menggunakan seret & lepas?" Oleh karena itu, kami menggunakan Segmen , alat yang memungkinkan Anda menambahkan pipeline pengumpulan data menggunakan skrip sederhana. Masalahnya, bagaimanapun, adalah bahwa Segmen memiliki halaman yang sangat besar dengan ratusan penyedia data dan perusahaan teknologi iklan. Dan, tentu saja, orang-orang yang terlibat dalam bisnis di perusahaan mulai mengklik semua tombol ini .



Soalnya, masalah dengan periklanan dan pelacakan data adalah semua ini bisa dilakukan, tapi siapa yang akan menolaknya? (Dalam kasus kami, saya memilih keluar dan menambahkan CSP yang memblokir pengiklan baru untuk mengakses tingkat halaman.)



Kembali ke kesederhanaan



Tidak mungkin mencapai sistem yang sederhana dengan menambahkan kesederhanaan ke sistem yang kompleks. - Richard O'Keeffe


Kemana kita pergi selanjutnya? Orang yang paling cerdas menyarankan agar kami mengatur revisi versi web.



Bagaimana cara kami membuat web menarik, kolaboratif, dan bagus?



Pertama, saya pikir ada dua situs web:



Dokumen web





Ada "dokumen web": blog, berita, Wikipedia, Twitter, Facebook. Sejauh yang saya pahami, sebenarnya, ini adalah web seperti yang terlihat pada awalnya (saya berusia dua tahun saat itu). CSS, yang sekarang kita lihat sebagai alat yang dapat digunakan desainer untuk menciptakan keunikan merek dan menambahkan detail presisi piksel, pada awalnya dilihat sebagai cara untuk membuat dokumen dapat dibaca tanpa pemformatan, memungkinkan pembaca dokumen tersebut menyesuaikan tampilannya. Faktanya, atribut ini telah disimpan sebagai stylesheet khusus di Chrome untuk sementara waktu dan masih berfungsi di Firefox . Namun, di web saat ini, ini akan menjadi tugas yang menakutkan, karena ia telah secara efektif meninggalkan gagasan HTML semantik .



"Aplikasi" web





Dan kemudian ada "aplikasi web". Ini dimulai sebagai aplikasi sisi server yang dibangun di atas sesuatu seperti Django dan Ruby on Rails . Sebelumnya, ada banyak teknologi yang sekarang akan hidup selamanya di perusahaan, seperti servlet Java .



Backbone.js menunjukkan bahwa banyak dari aplikasi ini dapat di-porting ke browser, setelah itu React dan banyak pesaing SPA-nya membuat tatanan dunia baru untuk aplikasi web-client dengan tingkat interaktivitas dan kompleksitas yang tinggi.



Perang antar bagian web



Saya berpendapat bahwa sifat ganda inilah yang menciptakan keajaiban web. Tapi itu juga kekuatan yang merusak.



Ajaibnya adalah bahwa blog sederhana bisa menjadi media kreatif, cara interaktif yang bagus untuk mengekspresikan diri Anda. Situs saya tidak seperti itu, tetapi saya hanya mengatakan itu mungkin .



Masalahnya adalah bahwa "dokumen web" sering mengalami karakteristik aplikasi - JavaScript dan animasi, dan kerumitannya yang membuat rata-rata situs berita menjadi bencana. Ketika situs dokumen mengadopsi pola aplikasi, mereka sering secara tidak sengaja mengorbankan aksesibilitas, kecepatan, dan keterbacaan mesin.



Dan "aplikasi web" menderita karena karakteristik dokumen - aplikasi interaktif berusaha keras untuk menghindari sebagian besar karakteristik dasar HTML dan CSS, dan hanya menggunakannya sebagai bahan mentah - sepenuhnya menghindari penulisan HTML secara langsung, menghindari penulisan CSS , menghindari fungsi animasi standar , mengganti membuat halaman menjadi sesuatu yang terlihat serupa tetapi berfungsi sepenuhnya berbeda . Aplikasi web menggunakan JSX daripada HTML dan lebih suka menanganinya di browser itu sendiri, atau menggunakan Svelte daripada JavaScript dan juga lebih menyukainya.



Ketika saya membaca posting blog dari "pengembang web tradisional" yang kesal karena HTML dan CSS tidak cukup hari ini dan hal-hal menjadi sangat kompleks, saya pikir ini terutama karena di banyak tempat tumpukan pengembangan aplikasi dalam membangun web -situs menggantikan tumpukan pembuatan dokumen. Dimanapun kita akan menggunakan Jekyll atau rendering sisi situs, React atau Vue.js sekarang diterapkan. Ada keuntungan dari pendekatan ini, tetapi untuk banyak situs web dengan interaktivitas minimal, itu berarti menyerahkan pengetahuan selama puluhan tahun sebagai imbalan atas beberapa manfaat kecepatan yang bahkan mungkin tidak penting.



Daya tarik media sosial



Daya tarik media sosial sebagian karena memungkinkan kita membuat dokumen tanpa memikirkan teknologi web dan memberikan jaminan tentang kecepatan, aksesibilitas, dan kesempurnaan yang akan menyita banyak waktu kita tanpa media sosial. Kami tidak perlu khawatir tentang postingan Facebook yang dimuat dengan cepat di ponsel teman atau mengedit dan memposting foto di Instagram dengan benar - semua itu telah kami tangani.



Sampai batas tertentu, ini tidak memerlukan kemampuan media sosial: standar seperti RSS dan layanan seperti Instapaper menunjukkan bahwa pemformatan dan distribusi yang indah dapat dilakukan di tingkat platform. dan membangun di atas situs web vanilla yang ada.



Tetapi tidak ada pembagian yang jelas
, - : ! , , -, , , (ยซยป JavaScript -), , . , , . : , , , .


Dokumen web 2.0



Tentu saja, akan sangat bagus untuk menerapkan teori terpadu dari web baru yang memiliki karakteristik aplikasi yang cukup dan karakteristik dokumen yang cukup untuk membuat semua dokumen interaktif hibrid yang sedang kita kerjakan saat ini. Namun jalur ke web terpisah lebih jelas bagi kita, dan saya memikirkannya terlebih dahulu, jadi mari kita bahas sedikit tentangnya.



  • Aturan # 1 - jangan membuat subset . Jika penggantian web hanya fitur yang ada di Firefox 10 sepuluh tahun yang lalu, maka tidak ada yang akan menyukai versi ini.
  • โ„–2 โ€” . , , , - , .
  • โ„–3 โ€” . , : , , , , , , .


Jadi, katakanlah kita membuat dokumen web baru.



Pertama, kami membutuhkan bahasa markup standar yang minimal untuk mengkomunikasikan dokumen. Kami mungkin ingin memulai dengan bahasa markup ringan yang akan disesuaikan untuk pembuatan HTML. Rasa Markdown yang ketat yang disebut Commonmark sepertinya pilihan yang cukup bagus . Ini adalah bahasa yang saya gunakan untuk menulis semua postingan saya, yang paling populer di keluarga saya. Ada banyak parser hebat untuk penurunan harga dan ekosistem alat yang besar.



Selanjutnya, kita membutuhkan browser. Untuk waktu yang lama, Mozilla telah mengerjakan browser baru - Servo... Tim pengembang dipecat minggu lalu, yang menyedihkan. Proyek ini mencakup kerangka kerja Rust independen untuk merender font , serta implementasi penurunan harga kelas atas di Rust dan serangkaian kerangka kerja aplikasi mengagumkan yang terus berkembang . Apakah mungkin untuk membuat browser penurunan harga murni yang menggunakan pipeline ini secara langsung? Mungkin?



Saya percaya bahwa kombinasi ini akan memungkinkan kami memulihkan sebagian besar kecepatan yang hilang. Kami dapat menampilkan halaman ke layar dalam waktu yang lebih singkat dibandingkan dengan web modern. Konsumsi memori bisa kecil. Sistem default akan sangat mudah diakses. Anda dapat membuat lembar gaya standar yang tampak bagus dan berbagi lembar gaya kustom alternatif. Berkat volume yang berkurang secara signifikan, kami akan dapat mem-port sistem ke semua jenis perangkat.



Seperti apa tampilan alat pengeditan situs web (mana yang mungkin paling penting)? Mereka bisa jauh lebih sederhana.



Agregasi akan terlihat seperti apa? Jika halaman web lebih seperti dokumen daripada aplikasi, maka kita tidak memerlukan RSS - situs web akan memiliki indeks yang menunjuk ke dokumen dan "pembaca" dapat menggabungkan halaman web itu sendiri secara default.



Kami dapat menautkan kedua web menggunakan sesuatu seperti file protokol dat yang terkenal , atau kami dapat menggunakan header Terima untuk membuat browser yang memahami HTML tetapi lebih menyukai halaman yang ringan.



Aplikasi Web 2.0



Saya merasa bahwa apapun masalah web yang saya sebutkan, saya akan secara otomatis menjawab bahwa WebAssembly dapat memperbaikinya. Mungkinkah demikian?



Saya tidak tahu. WebAssembly sebenarnya adalah hal yang hebat, tetapi haruskah aplikasi web dirender di atas kanvas dan setiap aplikasi menggambar toolkit grafisnya sendiri? Apakah kita memang membutuhkan perbedaan implementasi anti-aliasing pada aplikasi web? Aplikasi dalam container memang ada, lihat Qubes , tetapi sebenarnya bukan itu yang menjadi tujuan pengguna. Siapa pun yang telah menggunakan Blender atau Inkscape di Mac memiliki gambaran kasar tentang tampilannya.



Atau dapatkah WebAssembly menjadi "inti" baru dan masih merender UI HTML? Atau ... kita dapat membuat pustaka tertaut bersama yang digunakan aplikasi WebAssembly. Ini akan bekerja seperti SwiftUI dan memberikan standar yang ramah aplikasi seperti batasan daripada konsep seperti tinggi garis dan float yang ditemukan dalam dokumen.



Masalah dengan membentuk konsep aplikasi web adalah bahwa ia berkembang pesat.



Semakin buruk Mac App Store, Windows App Store, App Store, dan Play Store, semakin banyak permintaan monopoli ini, semakin banyak biaya yang diperlukan untuk menjadi pengembang Mac atau Windows, semakin banyak aplikasi ini dipindahkan ke web. Pastinya beberapa aplikasi lebih baikdi web. Tetapi banyak yang pergi ke sana hanya karena itu adalah satu-satunya tempat tersisa di mana produk dapat dengan mudah, murah dan didistribusikan atau dijual secara bebas.



Dahulu kala, kami dapat menginstal aplikasi, memberikan persetujuan eksplisit agar aplikasi tersebut dapat berjalan di komputer, dan menggunakan perangkat keras kami. Waktu itu akan segera berakhir, dan halaman web saat ini memiliki cara yang cukup canggih untuk mendapatkan informasi apa pun, mulai dari webcam, file, pengontrol game, sintesis audio hingga kriptografi dan segala sesuatu yang dulunya merupakan ranah kemungkinan .exedan .app. Tentu saja, ini memberi kekuatan baru, tetapi situasinya agak tidak biasa.



Siapa yang mengerjakan ini?





?



Ada banyak kemungkinan pandangan tentang masalah ini dan cara untuk mengatasinya. Saya yakin ini sebenarnya masalah (untuk semua orang kecuali Google). Ide tentang browser web sebagai sesuatu yang dapat kita pahami , halaman web sebagai sesuatu yang dapat dibuat lebih banyak orang , tampak luar biasa bagi saya.



Pendekatan penurunan harga tampaknya sangat realistis. Saya pikir argumen terkuat yang menentangnya adalah bahwa itu "menyedot semua hal menarik dari web," dan itu sebagian benar. Namun, web awal tidak menarik dalam pengertian kami yang biasa - di sana kami tidak dapat membuat karya seni atau menggunakannya untuk hal lain selain untuk pertukaran dokumen. Tapi luar biasa menarik, karena menarik untuk berbagi informasi, dan di sana bisa dilakukan dengan cara yang sederhana dan universal. Oleh karena itu, yang paling penting adalah menemukan elemen-elemen yang melepaskan kemungkinan rencana semacam itu, jika, tentu saja, ada. Atau temukan rencana lain yang "akan cukup menarik".



Media sosial cenderung lebih membatasi daripada halaman web, tetapi juga lebih menarik.karena banyak alasan penting, yang paling penting adalah kemungkinan partisipasi lebih banyak orang. Bagaimana jika web lainnya memiliki kesederhanaan dan kesegeraan tanpa menjadi begitu terpusat? Bagaimana jika kita bisa memulai kembali?






Periklanan



Server epik adalah server virtual untuk menghosting situs dari blog WordPress kecil hingga proyek dan portal serius dengan jutaan audiens. Berbagai macam paket tarif tersedia, konfigurasi maksimum adalah 128 inti CPU, RAM 512 GB, NVMe 4000 GB!






All Articles