Saya tidak begitu mengerti "Backend / Serverside" ketika datang ke pengembangan web?

18

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?


sumber
8
Menurut Anda, di mana Qs dan As situs ini pergi dan bagaimana caranya?
Mayank

Jawaban:

17

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.

jmort253
sumber
13

Premis dasarnya adalah:

masukkan deskripsi gambar di sini

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
6
Anda tidak menggunakan lingkaran tangan bebas. :(
glasnt
Ok lalu apa sebenarnya inti dari Kerangka Kerja Aplikasi Web?
3
@Mercfh: Untuk mempermudah. Mereka memberi Anda dasar untuk membangun visi Anda. Apakah Anda ingin membangun kerangka kerja otentikasi? Bagaimana kalau satu untuk menangani tanggal dan tampilan dan pengontrol dan perutean. Saya tidak berpikir begitu kecuali itu latihan akademis. Anda menginginkan kerangka kerja karena Anda awalnya memiliki masalah untuk dipecahkan, dan menangani tanggal bukan. :)
0

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.

Newtopian
sumber
Penjelasan Anda bagus kecuali bahwa Anda mengatakan bahwa sebagian besar situs web hanya ujung depan. Mungkin pada tahun 2003, tetapi hari ini saya mengatakan bahwa "sebagian besar", seperti pada, mayoritas, memiliki beberapa interaksi back-end / database.
Kyle
Melihat SO, Facebook dan dunia ini orang akan memindahkan situs web statis ke museum tetapi masih ada sejumlah besar situs, halaman depan untuk perusahaan dll yang hanya itu. Yang mengatakan Anda benar bahwa itu cenderung berkurang sedikit karena hanya menginstal wordpress dan sedikit tweaking CSS akan mencapai hasil yang sama dalam bentuk yang jauh lebih mudah untuk mempertahankan. Perhatikan bahwa Front end juga menunjuk API RESTfull yang Anda tampilkan di situs sementara backend adalah bagaimana API ini diterapkan.
Newtopian
0

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.

Zachary K
sumber
0

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.

Kenneth
sumber
0

Ada dua sisi untuk aplikasi web / situs web biasa.

  1. Front Side - Kontrol mana yang ui / tata letak / warna / font dll

  2. 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.

crosenblum
sumber