Berapa banyak HTML dan CSS yang harus diketahui pengembang sisi server? [Tutup]

16

Saya telah melakukan Cdan C++dan sekarang saya ingin memulai karir saya sebagai pengembang web . Saya membaca banyak tentang pengembangan web dan mengetahui bahwa ada dua jenis pengembang di web,

 1. Client Side Developers.
 2. Server Side Developers.

Saya ingin tetap fokus pada pengembangan sisi server . Saya berpikir bahwa akan lebih baik untuk memulai dengan dasar-dasar jadi saya mulai melakukan HTMLdan CSS. Saya menemukan bahwa CSSitu terlalu besar bagi seseorang untuk dikuasai dengan mudah. Saya ingin tahu bahwa dasar-dasar apa yang harus diketahui oleh pengembang sisi server dan haruskah ia menjadi ahli HTML dan CSSatau hanya menghapusnya?


sumber
1
Apakah pengembang layanan web menjadi tipe ke-3 pengembang atau akankah orang itu dihitung sebagai pengembang sisi server?
JB King
1
@ jb-king IMO yang akan menjadi sisi server
BlackICE
1
@Jb king, @ David: Bagaimana kalau menyebutnya pengembang sisi server yang tahu cara kerja web.
1
Seseorang yang mengembangkan layanan web mungkin tidak perlu menggunakan CSS atau HTML jika layanan hanya mengembalikan XML atau SOAP. Jadi ini jauh dari orang yang sama yang mengembangkan situs web atau aplikasi web ASP.Net yang memiliki banyak fitur UI yang menggunakan HTML dan CSS untuk memberikan kontras di sini.
JB King
Berbicara sebagai dev sisi-klien sekarang penuh-tumpukan-ish, semua orang harus tahu HTML. Ketika saya bertemu dengan devs sisi server dengan pengalaman bertahun-tahun yang merusak fungsionalitas karena mereka tidak tahu bahwa ID harus unik pada sebuah halaman, saya ingin menamparnya. FFS, ini disebut "ID." Bagaimana Anda bisa mempercayai seorang pria untuk mendekati SQL setelah itu? Dan hanya butuh beberapa jam setahun untuk memiliki petunjuk tentang HTML terbaru. Juga, IMO, siapa pun yang diharapkan untuk menyentuh halaman template juga harus dapat menjelaskan semua rekomendasi YSLOW karena mereka tahu bagaimana browser mem-parsing dan me-render halaman.
Erik Reppen

Jawaban:

15

Ini akan memperhatikan Anda untuk mengenal mereka dengan baik. Jika Anda adalah pengembang web, maka Anda adalah pengembang web. Anda harus dapat menulis aplikasi web secara independen, dan itu termasuk teknologi sisi klien.


sumber
3
+1 Saya seorang desainer yang buruk, tetapi pada beberapa aplikasi saya tidak memiliki kemitraan dengan desainer asli.
Michael
2
Anda, teman saya, tidak sendirian. Saya tidak memiliki banyak mata untuk UI yang bagus tapi saya kasar sehingga saya tidak PERLU pengembang lain untuk membuat aplikasi web yang berfungsi penuh.
8

Saya menganggap diri saya sebagai pengembang "sisi server".

Meskipun berada di "sisi belakang" pengembangan web, saya pikir sangat membantu untuk mengetahui dasar-dasar HTML dan CSS. Saya bekerja pada "sistem manajemen konten web" (WCMS), seperti Drupal, Day CQ, dan Liferay, dan sebagian besar persyaratan dan permintaan bisnis berkisar pada perubahan tampilan dan nuansa.

Tidak perlu menjadi "master" di HTML atau CSS, tetapi minimal, Anda harus tahu cara membuat halaman web statis, ditata dengan CSS. Anda harus mengetahui dasar-dasar formulir, dan berbagai mekanisme input. Untuk CSS, pahami perbedaan antara atribut ID dan CLASS, dan bagaimana penyeleksi bekerja. Banyak dari ini Anda akan mengambil dari waktu ke waktu.

Terakhir, buat beberapa pengetahuan tentang perbedaan browser yang umum. Sekali lagi, ini adalah pengetahuan yang akan Anda dapatkan dari waktu ke waktu, tetapi kenali bahwa ada perbedaan browser dan bersiaplah untuk mengenalinya.

rickumali
sumber
1
Memberi +1 di "di sini tidak perlu menjadi 'master' di HTML atau CSS". Saya seorang perancang yang berubah menjadi programmer dan ada pengurangan yang sangat tajam dalam pengetahuan CSS setelah mempelajari CSS dasar untuk tata letak menggunakan pelampung. Kutu buku Front End memiliki argumen paling gila atas dukungan CSS3 / IE / etc, dan banyak dari itu bermuara pada dogma atau agama. "Tabel BURUK !," "Sekrup IE!" "Microformats akan menyembuhkan KANKER!" Banyak dari argumen itu tidak berdampak apa pun di dunia nyata, jadi jika Anda DO belajar beberapa CSS, pastikan untuk menghindari lingkaran dogmatis dan hanya fokus pada belajar bagaimana menempatkan barang di layar.
Graham
Ya saya pernah ke debat seperti "Haruskah tabel digunakan?" lalu "Mengapa Google dan Twitter menggunakan tabel?" Melihat pertanyaan seperti itu, saya hanya merasa sulit untuk memilih dari tag yang tersedia /
Di sisi klien, tabel-sebagai-tata letak atau terus menggunakan pelampung secara eksklusif untuk penentuan posisi horizontal pada tahun 2011 atau 2014 bukanlah penolakan terhadap dogma. Mereka adalah tanda-tanda seseorang yang telah memutuskan untuk memasukkan tanggal kadaluwarsa pada karir mereka. Seorang desainer atau pengembang front end khusus agen iklan / pemasaran / interaktif mungkin bisa lolos dengan itu. Jika saya melihat itu dalam pekerjaan seseorang baru-baru ini, saya akan merekomendasikan untuk menyewa di mana pun saya telah bekerja di mana produk akhirnya tidak pakai.
Erik Reppen
1

Saya sebenarnya akan mengidentifikasi tiga segmen:

  • Pengembang sisi server
  • Pengembang sisi klien (pemrogram JavaScript)
  • Desainer

Anda akan membutuhkan pengetahuan menyeluruh tentang HTML dan CSS. Pembagian kerja antara sisi server dan sisi klien / pengembang desain biasanya mengharuskan pengembang sisi server menyediakan HTML yang dihasilkan oleh basis data dan interaksi pemrograman. HTML itu juga membawa pengidentifikasi CSS, sehingga dapat dimanipulasi oleh pengembang atau perancang sisi klien.

Pekerjaan Anda sebagai pengembang sisi server biasanya untuk memasok markup HTML / CSS ke dua lainnya. Bertujuan untuk penguasaan penuh baik HTML dan CSS.

Michael
sumber
1
"pengembang sisi server menyediakan HTML" HTML yang dihasilkan harus merupakan gabungan 3 peran. Setiap orang perlu terlibat dengan HTML. Juga pengembang sisi server tidak memiliki keterlibatan dengan CSS.
Raynos
@Raynos Pengembang sisi server tidak mendefinisikan aturan CSS, ini benar. Mereka harus, bagaimanapun, memahami bagaimana menetapkan kelas dalam markup untuk pengelompokan semantik.
Michael
1
@Micheal yang berbeda, HTML dan CSS memang terkait. Idealnya pengembang sisi server hanya mengekspos XML / JSON REST API dan pengembang / desainer front-end menulis HTML / CSS. Pengembang sisi server masih tidak boleh menulis CSS untuk digunakan pengembang web.
Raynos
1

Anda perlu mengetahui HTML + CSS, karena itu penting dan tidak sulit dipelajari. Anda akan menghadapi kesulitan saat mencoba untuk mengatur CSS untuk semua browser, tetapi Anda harus mengetahuinya, karena Anda kadang-kadang perlu membuat HTML menggunakan sisi server.

Anda dapat mulai mempelajarinya dengan membuat blog Anda sendiri. Jika tidak ada yang perlu di blog, Anda bisa membuat blog tentang pelajaran Anda.

bogatyrjov
sumber
1

Eh, saya tidak mengerti mengapa orang tidak mengerti. Tidak ada kode front-end dengan situs web. Ini semua kode back-end. Kode front-end adalah browser, jadi kecuali Anda bekerja di Mozilla atau IE atau Chromium / google atau safari, Anda sedang menulis kode sisi server. Begini cara kerjanya: Browser meminta file dari server web. Server web mengeluarkan file. Browser mengartikan file itu dan dapat meminta file tambahan (gambar, javascript, css, dll) dan menafsirkan file-file itu, sampai semua file telah ditafsirkan.

Sekarang, file pertama yang diminta oleh browser ini adalah file html. File html diuraikan dan browser memutuskan bagaimana membuat kontennya. Jadi salah satu konsep penting untuk dipertahankan di sini adalah bahwa file html dikonsumsi oleh parser.

Server web adalah perangkat lunak yang mendengarkan pada port dan memproses permintaan untuk file. Jika file tersebut adalah file statis (maksud kami statis di sini dalam arti bahwa file tersebut sudah dibuat) maka itu hanya disalin apa adanya ke klien yang meminta. Jika file tersebut dinamis, artinya dibuat setiap kali file diminta, server web meminta file yang akan dihasilkan oleh perangkat lunak yang menghasilkan file (baik proses yang berjalan, perpustakaan yang dimuat, atau memunculkan proses) dan perangkat lunak yang menghasilkan file dan mengirimkannya ke server web, yang, pada gilirannya, mengirimkannya ke klien.

Setelah file itu telah "disajikan" ke klien dan diuraikan, klien dapat meminta jenis file lain, seperti file json, di mana ia dapat mem-bypass penguraian oleh penyaji html dan alih-alih mengembalikan file tersebut ke penerjemah javascript yang berjalan di klien, dan ini diurai (eval adalah bentuk penguraian) dengan javascript. Inilah yang menjadi dasar AJAX.

Sekarang, bagaimana ini memengaruhi Anda? Jika ada file di server yang dihasilkan secara dinamis, maka ada perangkat lunak yang berjalan di server yang memberi tahu cara menghasilkan file. Orang-orang yang memprogram perangkat lunak ini dianggap sebagai pemrogram "server-side".

File-file html ini, dihasilkan di server, akan memberi tahu browser apa file lain yang akan dimasukkan, sehingga javascript dan gambar serta css perlu diimpor, diatur, dan jika tidak diatur oleh file html yang dihasilkan.

Banyak kerangka kerja web, dan berani saya katakan, metodologi (MVC et al) telah dikembangkan untuk membuat batas antara karya "sisi server" yang murni, dan karya "sisi klien".

Saya lupa menyebutkan, oh sayang, data orang-orang. Orang-orang penyimpanan data bahkan lebih banyak sisi server daripada penulis perangkat lunak penghasil file html sisi server. Penyimpanan data, apakah basis data relasional, NoSQL, atau lainnya, adalah hal yang sama sekali berbeda. Saya menyebutkan ini karena kerangka kerja dan metodologi Big-Vendor-touted (MVC et al lagi) tampaknya membuatnya mudah untuk hanya "cukup berani pada".

Woah, jawaban yang agak gondrong.

Saya membuat jawaban yang tampaknya kasar untuk menantang pernyataan Anda bahwa ada pengembang sisi server dan pengembang sisi klien. Jika Anda mengirimkan sistem informasi Anda melalui situs web, semuanya harus disimpan, diatur, dan dikelola di server. Dan itu adalah kekacauan besar, dan kecuali Anda benar-benar mempelajari cara kerjanya, Anda akan memiliki waktu yang sangat lama untuk membuatnya bekerja dengan baik. Jadi semuanya sisi server.

Christopher Mahan
sumber
1
TIDAK YAKIN JIKA SERIUS? Ini konyol. "Sisi klien" mengacu pada perangkat lunak yang berjalan di mesin klien, bukan platform pengiriman. HTML, CSS, dan JavaScript disimpan di server (duh) tetapi berjalan di klien. Jadi perkembangan mereka dianggap "sisi klien".
Graham
Perangkat lunak yang berjalan di mesin klien ditafsirkan oleh mesin rendering di browser, yang berjalan di klien. Mesin rendering pertama-tama merender html, dan kemudian, setelah merender itu, merender salah satu sumber daya terkait, dalam konteks file html.
Christopher Mahan
@ Graham, Ya, ini rumit, jadi daya tarik Silverlight dan AdobeAir.
Christopher Mahan
0

+1 untuk pertanyaan. Saya juga selalu berpikir bahwa pengkodean sisi server lebih menarik dan penting daripada melakukan html + css + js + ajax + .. dan banyak hal. Bagaimanapun, jika Anda sendirian dan ingin membuat aplikasi web sendiri, Anda harus menjadi programmer sisi server dan perancang + (klien sisi klien). Itu sebabnya sekarang saya sedang belajar HTML5 dan CSS3.

Sergey
sumber
Terima kasih, Sergey. Saya melakukan HTML 4 dan CSS dan saya akan mencoba untuk pindah ke HTML5 dan kemudian PHP segera :)
Sisi mana yang lebih menarik tergantung pada aplikasinya. Banyak aplikasi web sekitar 90% pengalaman pengguna dan 10% desain data.
kevin cline
Jika Anda melakukan desain data dengan benar, pengalaman pengguna juga akan sederhana!
Christopher Mahan
"Jika kamu melakukan desain data dengan benar, pengalaman pengguna juga akan sederhana!" - Maaf, tapi itu MENGEJUTKAN salah. Ipod memiliki desain data dasar yang sama dengan 100+ pemain MPG lainnya di pasaran, tetapi pengalaman pengguna yang revolusioner telah menjadikan Apple sebagai perusahaan yang kita semua kenal sekarang.
Graham
0

Sebenarnya itu tergantung. Dalam kebanyakan kasus, Anda harus tahu HTML & CSS. Dalam kasus yang jarang terjadi, Anda dapat mengabaikan keduanya.

Kasus 1

Di perusahaan saya, ada proyek dengan pemisahan ketat antara HTML & CSS dan segala sesuatu yang berkaitan dengan sisi server . Ini memungkinkan untuk menghadirkan pengembang C # atau PHP terbaik di satu sisi, dan pengembang HTML, CSS & JavaScript terbaik di sisi lain. Konkretnya, pengembang sisi server menghasilkan untuk setiap halaman objek sisi server yang berisi semua yang kita butuhkan untuk menampilkan halaman; objek-objek tersebut kemudian diserialisasi ke XML. Pengembang sisi klien mengambil objek-objek itu dan mengubahnya menjadi XHTML dengan XSLT.

Karena itu, saya tidak pernah melihat pendekatan ini di perusahaan lain. Juga, ia memiliki banyak keterbatasan dan bahkan jika itu sempurna dalam beberapa kasus, itu tidak berfungsi sama sekali dalam banyak hal lain.

Kasus 2

Ketika, di situs web kecil, pengembang dan desainer bekerja sama, tidak ada konsensus tentang siapa yang menulis HTML & CSS. Anda harus memutuskan untuk setiap proyek, sesuai dengan keterampilan kedua orang yang terlibat. Bahkan jika dalam banyak kasus, itu adalah pengembang yang berurusan dengan HTML & CSS, Anda juga dapat menemukan beberapa desainer yang tahu HTML & CSS dengan sangat baik . Dalam hal ini, jika maksud Anda adalah untuk mengerjakan proyek-proyek kecil dan hanya dengan desainer seperti itu, Anda tidak harus belajar HTML / CSS.

Kasus 3

Pada proyek yang lebih besar, bukan hal yang aneh untuk mempekerjakan orang yang berdedikasi untuk menulis kode HTML & CSS berdasarkan karya desainer dan pengembang sisi server. Biasanya ide yang baik untuk melakukannya, karena Anda tidak ingin membayar $ 100 per jam untuk pengembang C # berpengalaman untuk benar-benar menulis HTML; itu hanya buang-buang waktu dan uang.


Karena itu, kasus-kasus itu bukan yang paling sering. Jadi fokuslah pada pengembangan sisi server, tetapi cobalah untuk belajar HTML & CSS juga. Pengetahuan tambahan tidak pernah sakit.

Arseni Mourzenko
sumber
0

Terkadang, terutama di awal, Anda akan bekerja sendiri pada sebuah proyek dan harus melakukan front-end dan back-end. Dalam hal ini, Anda memerlukan setidaknya pengetahuan dasar tentang HTML dan CSS. Anda tidak harus menjadi perancang hebat, Anda hanya perlu mendapatkan informasi dari backend Anda terlihat di browser Anda sehingga Anda dapat menguji sesuatu.

Zhehao Mao
sumber
0

Sebenarnya, itu semua tergantung. Jika Anda terlibat dalam hal pemrograman perangkat lunak server, pastikan Anda tahu cara-cara standar para pengguna web tingkat tinggi (HTML / CSS) harus dapat berinteraksi dengan aplikasi Anda. Namun, jika Anda berencana melakukan banyak pekerjaan yang terkait erat dengan HTML / CSS maka Anda harus tahu HTML dan CSS dengan cukup baik. Bagaimanapun, selalu baik untuk mengetahui beberapa teknologi tambahan. Saya seorang programmer asli dan bahkan saya tahu HTML / CSS cukup untuk membuat situs web yang tampak layak. Yang sedang berkata, saya hanya mempelajarinya sehingga saya bisa belajar AJAX untuk menulis beberapa add-on Chrome / Firefox.


sumber