Beranda » Desain web » Memulai dengan Pengembangan Web Fullstack

    Memulai dengan Pengembangan Web Fullstack

    Hari-hari ini, modern pengembangan tumpukan penuh sangat populer di kedua agen kecil dan perusahaan besar dengan tim teknis khusus. Insinyur web tumpukan penuh bekerja pada seluruh tumpukan teknologi web termasuk frontend, backend, dan manajemen server.

    Banyak orang berpendapat bahwa stack penuh hanya mengarah pada menjadi "jack of all trades, master of none". Dari sudut pandang tertentu ini mungkin benar, namun skillet hanya sama pentingnya dengan apa yang dapat dicapai dengan itu. Banyak pengembang penuh tumpukan menawarkan nilai karena mereka dapat mengambil ide dari konsepsi hingga peluncuran, dan sepenuhnya memahami setiap langkah dari proses.

    Jika Anda memikirkannya pergi dengan rute tumpukan penuh, maka artikel ini untuk Anda. Saya akan menjelaskan persyaratan umum pengembang tumpukan penuh, apa perannya, dan bagaimana skillset dapat berguna untuk freelancer / kontraktor yang ingin bekerja secara langsung baik untuk klien atau dalam proyek mereka sendiri.

    Dasar Stack Penuh

    Pengembangan tumpukan penuh modern telah datang jauh, karena teknologi web telah banyak berubah. Persyaratan tumpukan penuh harus digunakan sebagai pedoman untuk dipertimbangkan sebagai berikut. Secara umum "tumpukan" mewakili teknologi yang berjalan serempak untuk membuat situs web berfungsi. Ini berarti kode frontend, kode backend, sistem database, dan platform server web + OS untuk server.

    Prinsip dasar pengembangan tumpukan penuh adalah untuk memahami semua aspek membangun situs web. Ini tidak berarti pengetahuan tentang desain atau pekerjaan UI / UX, meskipun itu dapat sangat meningkatkan kelayakan dan kualitas kerja Anda.

    • Dasar-dasar frontend termasuk HTML / CSS dan JavaScript, kemungkinan besar dengan a kerangka, seperti Angular atau Bereaksi.
    • Untuk bahasa backend Anda harus memilih sesuatu yang dapat digabungkan dengan sistem database. PHP / MySQL adalah yang paling umum dan termudah untuk dipelajari karena mendukung banyak mesin CMS seperti WordPress. Juga LAMPU stack tidak dapat disangkal tumpukan web yang paling populer saat ini.
    • Pengetahuan server bisa sesederhana atau sedetail yang Anda suka. Dasar-dasar mutlak akan menjadi pengetahuan tentang program server seperti Apache ditambah dengan database seperti MySQL atau PostgreSQL.
    • Anda mungkin melangkah lebih jauh untuk memasukkan pengetahuan menginstal server email, atau alat kinerja, seperti memcached atau Varnish.

    Setumpuk dev penuh harus mencoba-coba di ketiga bidang dengan pengetahuan yang cukup untuk meluncurkan situs web secara mandiri, dan tanpa banyak bantuan dari orang lain.

    Kedalaman Pengetahuan Teknis

    Pertanyaan besar tentang pengembangan tumpukan penuh adalah seberapa dalam untuk masuk ke setiap area. Apakah insinyur tumpukan penuh benar-benar ahli dalam hal apa pun? Beberapa berpendapat bahwa itu mungkin, tetapi itu mungkin bukan tujuan dari tumpukan penuh.

    Sebagian besar perusahaan ingin mempekerjakan insinyur tumpukan penuh yang memiliki sedikit pengetahuan di mana-mana. Insinyur ini mungkin berspesialisasi dalam satu bidang, tetapi mereka dapat mengisi peran apa pun saat dibutuhkan.

    Devs yang baru memulai jalan ini seharusnya bermain-main di semua bidang belajar "cukup" untuk menyelesaikan masalah saat mereka muncul. Ini memberikan interpretasi dunia nyata ke teknologi untuk melihat bagaimana berbagai masalah berlaku untuk proyek nyata.

    Manfaat terbesar dari full stack coding adalah kemampuannya buat aplikasi Anda sendiri tanpa bekerja untuk orang lain.

    Jika Anda mempelajari setiap tahap proses pengembangan maka Anda dapat melakukan semuanya sendiri. Anda tidak perlu menjadi master PHP untuk membangun aplikasi Laravel khusus. Dan Anda tidak perlu menjadi guru JavaScript untuk membuat navigasi dropdown yang fleksibel terutama sekarang karena kami memiliki begitu banyak kode sumber terbuka yang tersedia di web.

    Jadi seberapa dalam Anda harus pergi ke daerah-daerah ini? Ini sepenuhnya terserah Anda, dan jawaban Anda mungkin akan berubah seiring waktu.

    Tapi ketika pertama kali memulai, baru saja melangkah cukup dalam untuk mengimplementasikan apa yang telah Anda pelajari menjadi proyek nyata. Ketika Anda menabrak sesuatu yang Anda tidak mengerti, gunakan itu sebagai kesempatan untuk melangkah lebih dalam, dan pelajari lebih lanjut tentang subjek itu.

    Memilih Bahasa

    Ini sedikit teka-teki bagi pengembang baru untuk memilih teknologi mana yang harus dipelajari. Menyingkirkan semua kebutuhan, HTML dan CSS mutlak diperlukan. JavaScript juga merupakan keharusan, tetapi Anda tidak perlu menganggap diri Anda sebagai master JS. Namun Anda harus tertarik untuk belajar lebih dari sekadar JavaScript biasa.

    Kebanyakan pengembang juga belajar jQuery, tetapi kerangka kerja seperti React, Ember, Angular, Vue, atau Backbone semuanya menawarkan proses yang lebih sederhana untuk membangun aplikasi web skala penuh.

    Adalah mungkin untuk menyelam lebih dalam lagi efek JavaScript yang mewah, seperti animasi, tetapi mereka benar-benar opsional. Pengembang tumpukan penuh harus tahu cukup banyak untuk menyelesaikan pekerjaan, dan pindah dari sana.

    Pilihan bahasa Backend kurang tentang keunggulan teknis, dan lebih banyak tentang kenyamanan. Kebanyakan programmer menyadarinya Python adalah bahasa yang lebih fleksibel daripada PHP, namun sebagian besar situs web berjalan di server PHP. Ini membuat PHP bahasa yang berharga ke lebih banyak perusahaan.

    Pilih bahasa apa pun yang sesuai dengan kebutuhan Anda, atau menawarkan Anda prospek terbaik. Juga perlu diingat itu Anda tidak terjebak dengan satu bahasa backend selamanya. Jika Anda mulai dengan Ruby tetapi beralih ke Python Anda tidak kehilangan apa pun dalam proses.

    Namun saya merekomendasikan bahwa setelah Anda menemukan bahasa backend yang Anda sukai, selami lebih dalam dengan bahasa itu, dan mengambil kerangka kerja terkait. PHP memiliki Laravel, Ruby memiliki Rails, dan Python memiliki Django - di antara banyak opsi lainnya. Kerangka kerja ini akan mempercepat proses pengembangan Anda, dan membantu Anda menyusun aplikasi dengan benar.

    Database & Server

    Memilih mesin basis data mengacu pada persyaratan proyek dan tumpukan server. PHP sering bekerja dengan MySQL, jadi itu pilihan yang paling disukai. Itu dua tumpukan web terbesar hari ini LAMPU (Linux-Apache-MySQL-PHP) dan BERARTI (MongoDB-ExpressJS-AngularJS-Node.js).

    Sebagian besar perusahaan hosting menawarkan LAMP dari awal tanpa pengaturan. Tetapi solusi khusus seperti Digital Ocean memungkinkan Anda menjalankan hampir semua hal dengan sedikit minyak siku. Anda dapat menemukan lebih banyak tumpukan web di daftar ini, atau dengan mencari-cari di internet.

    Database pilihan Anda akan sering terkait dengan bahasa backend Anda. Python datang dengan dukungan SQLite secara default, dan RoR devs biasanya dapat bekerja dengan apa saja. Dan jujur, bahasa apa pun biasanya dapat bekerja dengan basis data apa pun.

    Tetapi Anda ingin memilih sesuatu yang cukup umum untuk digunakan di sebagian besar proyek web. SQL adalah bahasa umum, dan sebagian besar menggunakan sintaksis yang sama di semua mesin basis data. Anda akan menemukan perbedaan dalam pengaturan & administrasi tabel, tetapi ini biasanya kecil.

    Di luar basis data, berikut adalah beberapa topik teknis sisi-server yang mungkin ingin Anda pelajari.

    • CDN dan hosting konten
    • Instalasi & pembaruan perangkat lunak server
    • Konfigurasi server terbaik untuk lonjakan lalu lintas & waktu muat
    • Solusi cache untuk kueri basis data dan penyimpanan sistem file
    • Pencadangan otomatis database dan file datar, atau pencadangan disk imaging
    • Penyiapan HTTPS dengan manajemen domain (server DNS, catatan CNAME, dll.)
    • Subjek yang lebih rinci, seperti email, layanan mikro, dan penyeimbangan beban

    Salah satu cara terbaik untuk belajar adalah bermain-main dengan server ketika Anda membangun proyek. Raih dasar VPS akun, dan cobalah mengatur tumpukan Anda sendiri. VPS ini adalah lingkungan server virtual lengkap di mana Anda memiliki kontrol penuh untuk mengkonfigurasi (atau menghancurkan) semuanya. Selain itu, daftar di atas bukanlah peta jalan yang diperlukan untuk semua pengembang tumpukan penuh.

    Satu-satunya pengetahuan yang Anda butuhkan adalah apa pun yang diperlukan untuk membuat lingkungan server kosong, dan instal perangkat lunak yang diperlukan untuk menjalankan situs web. Dari sana, hal lain hanyalah peningkatan pengetahuan. Jika Anda memiliki pertanyaan atau ingin belajar dari para profesional, periksa komunitas Reddit / r / SysAdmin.

    Jalan di depan

    Jika Anda benar-benar ingin mempelajari pengembangan tumpukan penuh, buat daftar semua teknologi yang ingin Anda pelajari. Dari sana, Anda dapat menangani mereka satu per satu membuat proyek latihan Anda sendiri untuk menguji apa yang Anda pelajari.

    Pengembangan web adalah industri yang terus berubah, jadi Anda harus selalu mau belajar lebih banyak. Uji berbagai tumpukan dan bahasa hingga Anda menemukan yang Anda sukai. Namun selalu bersedia untuk lebih dalam dan menjadi lebih baik!

    Apakah pengembangan tumpukan penuh sepadan dengan usaha? Itu bagi Anda untuk memutuskan. Tapi di sini ada beberapa posting terkait yang mungkin bisa membantu Anda mengetahuinya.

    • Tentang Keabsahan "Full-Stack" (heapsortjobs.com)
    • Jadi, Anda ingin menjadi pengembang tumpukan penuh (rubysteps.com)
    • 7 Tips Cara Menjadi Pengembang Stack Penuh (usersnap.com)
    Artikel sebelumnya
    Memulai dengan Boxee