Apa artinya menjadi pengembang front-end pada tahun 2020 (dan seterusnya)

Diterbitkan: 2019-12-19

Pernahkah Anda berpikir tentang apa arti bagian front-end dari pengembang front-end ? Saya pernah bertanya kepada Eric Meyer (yang telah membangun situs web selama hampir selama ada situs web) apakah dia tahu apa arti istilah itu di masa-masa awal, dan dia menjawab ya. Jadi, ini bukan gelar atau posisi baru, tapi pasti berpindah-pindah ruang lingkupnya selama bertahun-tahun.

​​"Front-end" pada dasarnya berarti browser web. Saya menganggap diri saya seorang pengembang front-end, dan sejujurnya saya tidak akan membencinya jika Anda menyebut saya pengembang browser web. Tapi, itu mungkin tidak akan berhasil (dan sepertinya Anda membuat browser web). Sebagai pengembang front-end, Anda bekerja sangat erat dengan browser web dan menulis kode yang berjalan di dalamnya, khususnya HTML, CSS, JavaScript, dan beberapa bahasa lain yang digunakan browser web (misalnya, format media seperti SVG). Atau, mungkin lebih umum dijelaskan, kode yang akhirnya diproses ke dalam bahasa yang dimengerti browser. Itu wilayah Anda sebagai pengembang front-end!

Peramban tidak ada sendiri, peramban berjalan di berbagai perangkat. Kami mempelajarinya melalui era desain responsif. Dan yang paling penting: pengguna menggunakan browser tersebut di perangkat tersebut. Tidak ada yang lebih dekat dengan pengguna daripada pengembang front-end. Jadi pengembang front-end menulis kode untuk orang yang menggunakan browser yang berjalan di berbagai perangkat.

Gambar 7 tangan memegang perangkat seluler yang berbeda seperti ponsel, laptop, dan tablet.
Gambar dari Shuttershock

​​Hanya berurusan dengan lanskap besar pengguna, perangkat, dan browser ini adalah pekerjaan tersendiri! Saya akan berpikir bahwa tidak setiap hari Anda berpikir secara filosofis tentang jabatan Anda, dan itu bagus; kami hanya melakukan sedikit refleksi di sini dengan kakekmu Chris.

​​Jika Anda baru saja lulus dari bootcamp pengkodean dan pengalaman Anda membangun situs web agak sempit dan baru, Anda dapat dimaafkan jika Anda menganggap pengembangan front-end sebagai "barang Bereaksi" dan pengembangan back-end sebagai "Node barang" atau "barang Python," seperti rasa terpanas hari ini. Anda juga tidak salah. React umumnya digunakan sebagai kerangka kerja front-end (secara harfiah adalah JavaScript yang berjalan di browser). Node dan Python adalah contoh bahasa yang tidak benar-benar berjalan di browser web; mereka dibangun untuk dijalankan di server web (uhh, komputer).

​​Bertahanlah di bidang ini untuk sementara waktu, dan Anda akan melihat perpustakaan, bahasa, proses pembuatan, dan bahkan seluruh filosofi tentang cara terbaik untuk membangun situs web datang dan pergi seperti gelombang lambat.

Anda mungkin menyaksikan beberapa orang tua melambaikan tangan mereka dari waktu ke waktu, berteriak bahwa kita harus belajar dari kesalahan masa lalu. Anda juga dapat menyaksikan beberapa pemuda yang sangat riuh melambaikan tangan mereka setinggi mungkin, menyatakan masa lalu sebagai konteks yang tidak relevan dan tidak lagi menjadi bahan pembicaraan yang berguna.

Gambar satu anak yang konyol dan yang lain terlihat sangat marah dan mengacungkan tinjunya.
Gambar dari Shuttershock

Mereka berdua benar, mungkin. Selama tidak ada yang jahat, itu semua bagian dari arus.

Hal-hal berubah. Saya merasa benar bahwa banyak situs web saat ini lebih kompleks daripada situs web di masa lalu. Terutama yang besar. Jejaring sosial dan pemutar media. Situs pemesanan perjalanan. E-commerce etalase. Alat-alat rekayasa. Situs-situs ini mulai besar dan semakin besar. Mereka adalah ekonomi bagi diri mereka sendiri dengan tim besar yang mendukung mereka. Kompleksitas ini adalah penyebab perubahan teknologi web dan penyebab gesekan antara sekolah baru dan lama (jika kita bisa melukisnya dengan sederhana).

Banyak orang yang bekerja di bidang teknologi, pada dasarnya, untuk situs web besar. Dan itulah yang paling sering kami dengar dari orang-orang ini. Orang-orang ini membuat alat. Mereka menulis posting blog, mereka pergi ke podcast, mereka menyampaikan ceramah. Mereka membantu mengubah teknologi itu sendiri, agar sesuai dengan kebutuhan mereka.

Sementara itu, “front-end” masih sebatas browser. Bahasa browser, HTML, CSS, dan JavaScript masih merupakan teknologi inti yang dimainkan. Bahasa-bahasa itu berkembang, dan begitu pula browser itu sendiri, tetapi lebih lambat. Mereka melakukan kebalikan dari slogan favorit Lembah Silikon: bergerak cepat dan menghancurkan barang-barang . Mereka bergerak lambat dan sangat jarang merusak apa pun.

Menjadi front-end developer tetap memperhatikan pengguna yang menggunakan browser tersebut di perangkat tersebut. Pengalaman mereka adalah tugas kita. Perkakas hanya membantu kami melakukannya, semoga.

Jadi apa yang Anda lakukan sebagai pengembang front-end?

  • ​​Anda menjalankan desain sedemikian rupa sehingga terlihat bagus di layar apa pun
  • ​​Anda menerapkan semantik ke konten
  • ​​Anda sedang membangun UI secara abstrak sehingga Anda dapat menggunakan kembali bagian dan gaya secara efisien
  • ​​Anda sedang mempertimbangkan aksesibilitas dari apa yang dirender di browser
  • ​​Anda mengkhawatirkan kinerja situs, yang berarti Anda berurusan dengan seberapa besar dan berapa banyak sumber daya yang digunakan oleh browser.

​​Hal-hal itu selalu benar, dan akan selalu benar, karena pada dasarnya adalah masalah tingkat browser dan itulah front-end.

Apa yang berubah adalah bahwa browser mampu bekerja lebih dan lebih. Ada banyak alasan untuk itu, seperti API browser yang semakin mumpuni, library yang semakin bagus, dan komputer yang semakin baik, secara umum. Membongkar pekerjaan dari server ke browser semakin masuk akal selama bertahun-tahun (aplikasi satu halaman!). Meskipun menarik untuk melihat pendulum berayun kembali (situs yang telah dirender sebelumnya!) dan menemukan jalan tengah (JAMstack!).

​​Pengembangan front-end akhir-akhir ini mungkin juga mencakup:

  • ​​Arsitek seluruh situs dari komponen terkecil ke seluruh halaman hingga ke tingkat URL
  • ​​Mengambil data Anda sendiri dari API dan memanipulasi data sesuai kebutuhan untuk ditampilkan
  • Menangani keadaan situs Anda sendiri
  • ​Memutasi/mengubah data melalui interaksi dan input pengguna dan mempertahankan data tersebut dalam status dan kembali ke server melalui API

Itu semua hal yang bisa dilakukan di browser sekarang, banyak yang melebarkan mata pengembang lama ini. Itu adalah tumpukan tanggung jawab yang sangat berat ketika Anda menganggapnya di atas semua hal yang sudah harus Anda lakukan.

Gambar beberapa orang yang berbeda mencari di tumpukan jerami besar.
Gambar dari Shuttershock

​​Meskipun tumpukan jerami pekerjaan itu cenderung bertambah selama bertahun-tahun, petunjuk yang kami miliki sebagai pengembang front-end tidak banyak berubah. Tanggung jawab inti kami masih menangani pengguna yang menggunakan browser web di perangkat. Jadi kita harus mengambil beberapa data. Itu keren, kami melakukannya untuk membangun halaman yang cepat, semantik, dapat diakses untuk melayani kebutuhan pengguna kami. Jadi kita perlu membangun sistem desain. Itu keren, kami melakukannya untuk membangun antarmuka yang dapat dipahami bagi pengguna kami yang mampu berkembang tanpa membuat kekacauan yang tidak konsisten. Jadi kita harus mempelajari beberapa teknologi baru yang tidak dikenal. Nah, adalah tugas kita untuk mengawasi dan memastikan bahwa hal baru pada akhirnya ada untuk memperbaiki situs kita bagi pengguna.

Semoga berhasil!

Gambar Chris Coyier bekerja di mejanya.
Foto dari Kimberly Bailey, fotografer internal Flywheel

Selanjutnya: Mengapa Chris Coyier memilih Lokal dan Roda Gila untuk memberi daya pada situs webnya

Pelajari bagaimana Chris menggunakan Lokal dan Roda Gila untuk membawa situsnya ke tingkat berikutnya. Lihat apa fitur favoritnya, bagaimana dia mengandalkan Roda Gila untuk memigrasikan situsnya (gratis!), dan banyak lagi! Klik di sini untuk mempelajari lebih lanjut.