Di dunia pengembangan Web, apa yang sebenarnya dilakukan programmer backend / server-side? Saya kira saya tidak begitu mengerti keseluruhan konsep.
Saya telah melakukan layout HTML / CSS dan desain situs web dan sedikit SQL dengan PHP (masih meningkatkan keterampilan saya, ini lebih merupakan proyek sampingan bagi saya). Saya juga melakukan sedikit JavaScript / JQuery.
Tapi saya tidak mengerti pekerjaan "backend", seperti bahasa scripting (Rails / Python / etc) dan semacamnya. Apa sebenarnya yang Anda "lakukan" dengan mereka?
Jawaban:
Jika Anda menggunakan PHP, maka Anda telah melakukan pekerjaan sisi server!
Dalam istilah awam, kode sisi klien dijalankan di komputer Anda, di browser Web Anda, dan kode sisi server dijalankan di komputer di Internet, dan hasil perhitungan sisi server kemudian dikirim melalui Internet ke komputer Anda. browser.
Ketika Anda menulis kode PHP yang menjalankan pernyataan SQL, panggilan SQL dilakukan pada komputer jarak jauh (server) dan hasilnya - biasanya dalam bentuk HTML yang dihasilkan - kemudian dikirim melalui Internet ke browser.
Sebaliknya, JavaScript dijalankan di peramban Anda. Begitu juga CSS.
Lihat Perbedaan Antara Sisi Klien dan Pemrograman Sisi Server untuk informasi lebih lanjut.
sumber
Premis dasarnya adalah:
Pengguna memberikan inputnya, mengirimkannya melalui jaringan sejenis dan server kemudian melakukan sihir sesuai dengan inputnya.
Pada dasarnya Anda ingin semua keamanan dan validasi dilakukan di sisi server. Dengan keramahan yang menjalankan sisi klien, seperti validasi formulir yang tidak mencolok (Anda masih perlu memvalidasi sisi server!).
Pertanyaan besar: Mengapa?
Pengguna dapat memodifikasi informasi pada mesin mereka. Sebagai contoh, lihat pelatih game yang mengubah nilai memori untuk membiarkan pengguna 'meretas' game. Jika Anda melakukan hal-hal inti pada mesin Anda, di lokasi fisik Anda, Anda secara signifikan menurunkan kemungkinan seseorang merusak pemeriksaan keamanan Anda.
sumber
Anda mendesain hal-hal ujung depan ketika Anda merancang sistem yang berinteraksi dengan klien dari sistem Anda. Perhatikan di sini kata klien cukup besar tetapi pada dasarnya berarti Anda bekerja di ujung depan saat Anda menyediakan antarmuka ke dunia luar.
Sebagian besar situs web hanya ujung depan, yaitu mereka memberikan informasi kepada dunia luar dan seringkali informasi ini dapat disimpan cukup sederhana sebagai teks dalam file HTML.
Anda merancang ujung belakang saat Anda perlu memberikan layanan dan merangkum fungsionalitas yang akan dikonsumsi ujung depan Anda. Ini memungkinkan untuk memindahkan beberapa beban kerja dari klien (front-end) ke server (back-end). Anda akan melakukan ini dalam kasus ketika Anda perlu mengoordinasikan informasi dari klien yang berbeda yang dapat mengakses sistem Anda secara bersamaan. Atau jika Anda perlu menggunakan repositori data pusat untuk menyusun data dinamis, atau lagi jika Anda memerlukan persyaratan keamanan tertentu. Daftar ini sama sekali tidak lengkap, hanya contoh cepat.
jadi singkatnya, Front-end (klien) akan menyajikan informasi kepada dunia luar. Biasanya ini adalah manusia melalui semacam GUI baik HTML atau lainnya.
Back end akan menyediakan sarana untuk memusatkan layanan agar front-end Anda dapat digunakan. Menggunakan back-end tidak wajib dan menambah kompleksitas ke sistem, tetapi memungkinkan untuk mengelola kompleksitas yang melekat pada sistem yang Anda coba untuk membangun dengan lebih baik.
Sebagai contoh adalah mungkin untuk menyediakan layanan seperti wiki hanya melalui front end tetapi akan memiliki banyak keterbatasan yang menggunakan back-end untuk menyimpan data dan menyajikannya ke front-end akan menyelesaikan dengan cara yang lebih alami.
sumber
Ujung depan adalah hal-hal yang berjalan di browser, backend seperti PHP berjalan di server dan menyimpan data dalam database dan melakukan hal-hal semacam itu.
sumber
Menurut pendapat saya sisi server pekerjaan (yang telah disebutkan adalah apa pun yang berjalan di server situs web sedang diakses dari) adalah apa yang memberikan situs kehidupan nyata. Sebagian besar fungsionalitas masih dapat dicapai menggunakan teknologi sisi klien tetapi menurut saya ini adalah pendekatan yang jauh lebih rumit dan jauh lebih tidak aman karena klien memiliki akses ke semua yang ada dalam kode sisi klien. PHP dan ASP dengan cara bahasa pemrograman hybrid yang dimaksudkan hampir secara eksklusif untuk menyajikan konten halaman web ke browser setelah melakukan beberapa kegiatan komputasi. Ketika Anda mulai bekerja dengan python, ruby, java, atau bahasa pemrograman lain Anda memiliki lebih banyak kekuatan dan kemampuan tetapi sedikit lebih banyak pekerjaan untuk mengirim informasi yang dihasilkan kepada klien pada akhir proses.
sumber
Ada dua sisi untuk aplikasi web / situs web biasa.
Front Side - Kontrol mana yang ui / tata letak / warna / font dll
Sisi Belakang - Menangani manipulasi data dalam database, atau manipulasi file, melakukan banyak logika, jika ini, melakukan itu, jika tidak melakukan ini, dll. Terintegrasi dengan perangkat lunak server web seperti Apache / IIS / etc, dan server database perangkat lunak seperti mySQL / PostreSQL / MS SQL Server.
Sisi belakang adalah sisi yang jauh lebih kuat, karena dapat melakukan banyak hal, mulai dari membuat file excel, menghasilkan laporan, melakukan perhitungan, mendapatkan data dari server yang berbeda.
Kemudian ia menyiapkan dan menampilkan data itu, bagaimana sisi depan diatur.
Untuk melakukannya dengan baik adalah kerja keras, banyak latihan, belajar, dan disiplin diri.
Jika Anda ingin menjadi yang terbaik, berlatih, dan tidak pernah berhenti belajar, dan jangan pernah menganggap Anda tahu semua jawabannya.
sumber