Kira-kira 15 tahun yang lalu, saya bekerja di sebuah syarikat tempat kami membina apl untuk ejen pelancongan, pekerja lapangan terbang dan syarikat penerbangan. Kami juga membina rangka kerja dalaman kami sendiri untuk komponen UI dan keupayaan aplikasi satu halaman. Kami mempunyai komponen untuk segala-galanya: medan, butang, tab, julat, jadual data, menu, pemilih tarikh, pilihan dan pilihan berbilang. Kami juga mempunyai komponen div. Komponen div kami sangat bagus, ia membenarkan kami melakukan sudut bulat pada semua penyemak imbas, yang, percaya atau tidak, bukanlah perkara yang mudah untuk dilakukan pada masa itu.

Kerja kami berlaku pada satu titik dalam sejarah kami apabila JS, Ajax, dan HTML dinamik dilihat sebagai revolusi yang membawa kami ke masa hadapan. Tiba-tiba, kami boleh mengemas kini halaman secara dinamik, mendapatkan data daripada pelayan dan mengelak daripada menavigasi ke halaman lain, yang dilihat sebagai perlahan dan memancarkan segi empat tepat putih besar pada skrin antara dua halaman. Terdapat frasa, yang dipopularkan oleh Jeff Atwood (pengasas StackOverflow), yang berbunyi: "Sebarang aplikasi yang boleh ditulis dalam JavaScript akhirnya akan ditulis dalam JavaScript." - Jeff Atwood

Bagi kami pada masa itu, ini terasa seperti berani untuk pergi dan mencipta aplikasi tersebut. Rasanya seperti kelulusan menyeluruh untuk melakukan segala-galanya dengan JS. Jadi kami melakukan segala-galanya dengan JS, dan kami tidak benar-benar meluangkan masa untuk menyelidik cara lain untuk melakukan sesuatu. Kami tidak benar-benar merasakan insentif untuk mempelajari dengan betul perkara yang boleh dilakukan oleh HTML dan CSS. Kami tidak benar-benar menganggap web sebagai platform aplikasi yang berkembang secara keseluruhannya. Kami kebanyakannya melihatnya sebagai sesuatu yang perlu kami selesaikan, terutamanya apabila ia berkaitan dengan sokongan penyemak imbas. Kami hanya boleh membuang lebih banyak JS padanya untuk menyelesaikan sesuatu. Adakah meluangkan masa untuk mengetahui lebih lanjut tentang cara web berfungsi dan perkara yang tersedia pada platform telah membantu saya? Sudah tentu, saya mungkin telah mencukur sekumpulan kod yang tidak benar-benar diperlukan. Tetapi, pada masa itu, mungkin tidak begitu banyak. Anda lihat, perbezaan penyemak imbas agak ketara ketika itu. Ini adalah masa apabila Internet Explorer masih menjadi penyemak imbas yang dominan, dengan Firefox menjadi yang kedua, tetapi mula kehilangan bahagian pasaran kerana Chrome semakin popular. Walaupun Chrome dan Firefox agak mahir dalam menyetujui piawaian web, persekitaran di mana apl kami dijalankan bermakna kami terpaksa menyokong IE6 untuk masa yang lama. Walaupun apabila kami dibenarkan menyokong IE8, kami masih perlu berurusan dengan banyak perbezaan antara penyemak imbas. Bukan itu sahaja, tetapi web pada masa itu tidak mempunyai banyak keupayaan yang dibina terus ke dalam platform.

Cepat ke hari ini. Perkara telah berubah dengan ketara. Kami bukan sahaja mempunyai lebih banyak keupayaan ini berbanding sebelum ini, tetapi kadar ia tersedia telah meningkat juga. Izinkan saya bertanya soalan itu sekali lagi, kemudian: Adakah meluangkan masa untuk mengetahui lebih lanjut tentang cara web berfungsi dan perkara yang tersedia pada platform membantu anda hari ini? betul-betul ya. Belajar untuk memahami dan menggunakan platform web hari ini memberikan anda kelebihan besar berbanding pembangun lain. Sama ada anda mengusahakan prestasi, kebolehaksesan, responsif, kesemuanya bersama-sama atau hanya menghantar ciri UI, jika anda mahu melakukannya sebagai jurutera yang bertanggungjawab, mengetahui alatan yang tersedia untuk anda membantu anda mencapai matlamat anda dengan lebih pantas dan lebih baik. Beberapa Perkara Yang Anda Mungkin Tidak Memerlukan Perpustakaan Lagi Mengetahui apa yang pelayar menyokong hari ini, persoalannya, kemudian, ialah: Apa yang boleh kita parit? Adakah kita memerlukan komponen div untuk melakukan sudut bulat pada tahun 2025? Sudah tentu, kami tidak. Sifat jejari sempadan telah disokong oleh semua penyemak imbas yang sedang digunakan selama lebih daripada 15 tahun pada ketika ini. Dan bentuk sudut juga akan datang tidak lama lagi, untuk sudut yang lebih menarik. Mari kita lihat ciri yang agak terkini yang kini tersedia dalam semua penyemak imbas utama, dan yang boleh anda gunakan untuk menggantikan kebergantungan sedia ada dalam pangkalan kod anda. Maksudnya bukan untuk segera membuang semua perpustakaan yang anda sayangi dan menulis semula pangkalan kod anda. Bagi yang lain, anda perlu mengambil kira sokongan penyemak imbas terlebih dahulu dan membuat keputusan berdasarkan faktor lain yang khusus untuk projek anda. Ciri berikut dilaksanakan dalam tiga enjin penyemak imbas utama (Chromium, WebKit dan Gecko), tetapi anda mungkin mempunyai keperluan sokongan penyemak imbas yang berbeza yang menghalang anda daripada menggunakannya serta-merta. Sekarang masih masa yang baik untuk belajar tentang ciri ini, walaupun, dan mungkin merancang untuk menggunakannya pada satu ketika. Popovers Dan Dialog API Popover, elemen HTML

dan elemen pseudo ::backdrop boleh membantu anda menyingkirkan kebergantungan pada pop timbul,petua alat dan pustaka dialog, seperti Floating UI, Tippy.js, Tether atau React Tooltip. Mereka mengendalikan kebolehaksesan dan pengurusan fokus untuk anda, di luar kotak, sangat disesuaikan dengan menggunakan CSS dan boleh dianimasikan dengan mudah. Akordion Elemen
, atribut namanya untuk elemen yang saling eksklusif dan elemen pseudo-content ::details-content mengalih keluar keperluan untuk komponen akordion seperti Bootstrap Accordion atau komponen React Accordion. Hanya menggunakan platform di sini bermakna lebih mudah bagi mereka yang mengetahui HTML/CSS untuk memahami kod anda tanpa perlu belajar menggunakan perpustakaan tertentu terlebih dahulu. Ini juga bermakna anda kebal daripada melanggar perubahan dalam perpustakaan atau pemberhentian perpustakaan itu. Dan, sudah tentu, ia bermakna kurang kod untuk dimuat turun dan dijalankan. Elemen butiran yang saling eksklusif tidak memerlukan JS untuk membuka, menutup atau menganimasikan. Sintaks CSS Lapisan lata, untuk pangkalan kod CSS yang lebih teratur, sarang CSS, untuk CSS yang lebih padat, fungsi warna baharu, warna relatif dan campuran warna, fungsi Matematik baharu seperti abs(), tanda(), pow() dan lain-lain membantu mengurangkan kebergantungan pada pra-pemproses CSS, perpustakaan utiliti seperti Bootstrap dan Tailwind, atau bahkan pustaka CSS-dalam-JS masa jalan. Penukar permainan :has(), salah satu ciri yang paling diminta untuk masa yang lama, menghilangkan keperluan untuk penyelesaian berasaskan JS yang lebih rumit. JS Utilities Kaedah Tatasusunan Moden seperti findLast(), atau at(), serta Set kaedah seperti difference(), intersection(), union() dan lain-lain boleh mengurangkan kebergantungan pada perpustakaan seperti Lodash. Pertanyaan Kontena Pertanyaan kontena menjadikan komponen UI bertindak balas kepada perkara selain daripada saiz port pandang, dan oleh itu menjadikannya lebih boleh digunakan semula merentas konteks yang berbeza. Tidak perlu menggunakan perpustakaan UI JS-heavy untuk ini lagi, dan tidak perlu menggunakan polyfill sama ada. Susun atur Grid, subgrid, flexbox atau berbilang lajur telah wujud sejak sekian lama, tetapi melihat hasil tinjauan Negeri CSS, jelas menunjukkan bahawa pembangun cenderung sangat berhati-hati dengan menerima pakai perkara baharu dan menunggu untuk masa yang sangat lama sebelum mereka melakukannya. Ciri ini telah lama menjadi Baseline dan anda boleh menggunakannya untuk menyingkirkan kebergantungan pada perkara seperti sistem grid Bootstrap, utiliti kotak flex Foundation Framework, grid tetap Bulma, grid Materialize atau lajur Tailwind. Saya tidak mengatakan anda harus menggugurkan rangka kerja anda. Pasukan anda menerima pakainya atas sebab tertentu, dan mengalih keluarnya mungkin merupakan projek besar. Tetapi melihat apa yang platform web boleh tawarkan tanpa pembungkus pihak ketiga di atas datang dengan banyak faedah. Perkara Yang Anda Mungkin Tidak Perlu Lagi Dalam Masa Terdekat Sekarang, mari kita lihat beberapa perkara yang anda tidak perlukan perpustakaan dalam masa terdekat. Maksudnya, perkara di bawah belum cukup bersedia untuk diterima pakai secara besar-besaran, tetapi menyedarinya dan merancang untuk penggunaan yang berpotensi kemudian boleh membantu. Kedudukan Sauh Penentududukan sauh CSS mengendalikan kedudukan popover dan petua alat berbanding dengan elemen lain, dan menjaga agar tetap kelihatan, walaupun semasa mengalihkan, menatal atau mengubah saiz halaman. Ini adalah pelengkap hebat kepada API Popover yang dinyatakan sebelum ini, yang akan menjadikannya lebih mudah untuk berhijrah daripada penyelesaian JS yang lebih intensif prestasi. API Navigasi API Navigasi boleh digunakan untuk mengendalikan navigasi dalam apl satu halaman dan mungkin merupakan pelengkap yang hebat, atau malah pengganti, untuk React Router, Next.js routing atau Angular routing tasks. Lihat Transitions API View Transitions API boleh menganimasikan antara keadaan halaman yang berbeza. Pada aplikasi satu halaman, ini menjadikan peralihan lancar antara keadaan sangat mudah dan boleh membantu anda menyingkirkan perpustakaan animasi seperti Anime.js, GSAP atau Motion.dev. Lebih baik lagi, API juga boleh digunakan dengan aplikasi berbilang halaman. Ingat sebelum ini, apabila saya mengatakan bahawa sebab kami membina aplikasi satu halaman di syarikat tempat saya bekerja 15 tahun lalu adalah untuk mengelakkan kilat putih muat semula halaman semasa menavigasi? Sekiranya API itu tersedia pada masa itu, kami akan dapat mencapai kesan peralihan halaman yang indah tanpa rangka kerja satu halaman dan tanpa muat turun awal yang besar bagi keseluruhan apl. Animasi dipacu tatal Animasi dipacu tatal berjalan pada kedudukan tatal pengguna, bukannya dari masa ke masa, menjadikannya penyelesaian yang hebat untuk bercerita dan lawatan produk. Sesetengah orang telah melampaui batas dengannya, tetapi apabila digunakan dengan baik, ini boleh menjadi alat reka bentuk yang sangat berkesan dan boleh membantu menyingkirkan perpustakaan seperti: ScrollReveal, GSAP Scroll atauWOW.js. Pilihan Boleh Disesuaikan Pilihan yang boleh disesuaikan ialah elemen

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free