Sunucu tarafı geliştiricisi ne kadar HTML ve CSS bilmeli? [kapalı]


16

Yaptım Cve C++şimdi bir web geliştirici olarak kariyerime başlamak istiyorum . Web geliştirme hakkında çok şey okudum ve web'de iki tür geliştirici olduğunu öğrendim,

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

Sunucu tarafı gelişimine odaklanmak istiyorum . Temel bilgilerle başlamanın en iyisi olacağını düşündüm HTMLve yapmaya başladım CSS. CSSBirinin kolayca ustalaşması için çok büyük olduğunu öğrendim . Bir sunucu tarafı geliştiricisinin hangi temel bilgileri bilmesi gerektiğini ve HTML ustası olması ve CSSya da onunla başa çıkmasını bilmek istiyorum ?


1
Bir web hizmetleri geliştiricisi 3. türde bir geliştirici olur mu veya bu kişi sunucu tarafı geliştiricisi olarak sayılır mı?
JB King

1
@ jb-king sunucu tarafı IMO olacak
BlackICE

1
@Jb king, @ David: Web'in nasıl çalıştığını bilen bir sunucu tarafı geliştiricisi olarak adlandırmaya ne dersiniz?

1
Web hizmetleri geliştiren bir kişinin, hizmet XML veya SOAP döndürüyorsa CSS veya HTML kullanması gerekmeyebilir. Böylece bu, burada bir kontrast vermek için HTML ve CSS kullanan birçok UI özelliğine sahip bir ASP.Net web sitesi veya web uygulaması geliştiren aynı kişiden uzaktır.
JB King

Artık istemci tarafı olarak tam yığın-ish dev olarak konuşan herkes HTML bilmeli. Sunucu tarafı geliştiriciler ile işlevselliği bozan deneyim yıllarca çalıştırdığımda, kimliklerin bir sayfada benzersiz olması gerektiğini bilmiyorlardı, onları tokatlamak istiyorum. FFS, buna "Kimlik" denir. Bundan sonra SQL'e yaklaşması için bir adama nasıl güvenirsiniz? Ve en son HTML hakkında bir ipucu elde etmek yılda sadece birkaç saat sürer. Ayrıca, IMO, bir şablon sayfasına dokunması beklenen herkes, YSLOW'un tüm önerilerini de açıklayabilmelidir, çünkü tarayıcıların sayfaları nasıl ayrıştırdığını ve oluşturduğunu bilirler.
Erik Reppen

Yanıtlar:


15

Onları iyi tanımak size önem verecektir. Bir web geliştiricisiyseniz, o zaman bir web geliştiricisisiniz. Web uygulamalarını bağımsız olarak yazabilmeniz gerekir; bu, istemci tarafı teknolojisini içerir.


3
+1 Berbat bir tasarımcıyım, ancak birkaç uygulamada gerçek bir tasarımcıyla ortaklığım yok.
Michael

2
Sen, arkadaşım, yalnız değilsin. Harika bir kullanıcı arayüzü için fazla bir gözüm yok, ancak tamamen işlevsel bir web uygulaması yapmak için başka bir geliştiriciye gerek duymuyorum.

8

Kendimi bir "sunucu tarafı" geliştiricisi olarak görüyorum.

Web geliştirmenin "arka tarafında" olmasına rağmen, HTML ve CSS temellerini bilmek son derece yararlı olduğunu düşünüyorum. Drupal, Day CQ ve Liferay gibi tipik "web içerik yönetim sistemleri" (WCMS) üzerinde çalışıyorum ve çoğu iş gereksinimi ve isteği, görünümü ve hissi değiştirme etrafında dönüyor.

HTML veya CSS'de "master" olmanıza gerek yoktur, ancak en azından CSS ile şekillendirilmiş statik bir web sayfasının nasıl yapıldığını bilmelisiniz. Formların temellerini ve çeşitli girdi mekanizmalarını bilmelisiniz. CSS için, ID ve CLASS özelliği arasındaki farkı ve seçicilerin nasıl çalıştığını anlayın. Bunların çoğu zamanla alacaksınız.

Son olarak, yaygın tarayıcı farklılıkları hakkında bilgi edinin. Yine, bu zamanla alacağınız bilgidir, ancak tarayıcı farklılıklarının var olduğunu ve onu tanımaya hazır olduğunuzu kabul edin.


1
+1, "HTML veya CSS'de" master "olmanıza gerek yok". Ben tasarımcı bir programcı döndüm ve şamandıralar kullanarak düzenler için temel CSS öğrendikten sonra CSS bilgisinde inanılmaz derecede keskin bir azalma var. Ön Uç ineklerin CSS3 / IE desteği / vs üzerinde en çılgın argümanları vardır ve bunların çoğu dogma veya dine bağlıdır. "Tablolar KÖTÜ !," "Vida IE!" İnternethaber.com "Mikro biçimler KANSERİ tedavi edecek!" Bu argümanların birçoğunun gerçek dünyada hiçbir etkisi yoktur, bu yüzden biraz CSS öğrenirseniz, dogmatik çevrelerden kaçındığınızdan emin olun ve sadece şeyleri ekrana nasıl yerleştireceğinizi öğrenmeye odaklanın.
Graham

Evet, "Tablolar kullanılmalı mı?" "Google ve Twitter neden tablo kullanıyor?" Bu tür sorular görünce, ben sadece mevcut / etiketlerinden seçmek zor hale gelmiştir düşünüyorum

Müşteri tarafında, 2011 veya 2014 yıllarında yatay konumlandırma için mizanpaj olarak kullanılan tablolar veya şamandıralar kullanılmaya devam edilmesi dogmanın reddi değildir. Bunlar, kariyerlerine bir son kullanma tarihi koymaya karar veren birinin belirtileridir. Bir tasarımcı veya yalnızca reklam / pazarlama / etkileşimli ajans ön uç geliştiricisi bundan kurtulabilir. Bunu birisinin son çalışmasında görmüş olsaydım, son ürünün nihai olarak tek kullanımlık olmadığı yerlerde çalıştığım herhangi bir yerde bir işe almamanızı tavsiye ederim.
Erik Reppen

1

Aslında üç segment belirleyeceğim:

  • Sunucu tarafı geliştiricileri
  • İstemci tarafı geliştiricileri (JavaScript programcıları)
  • tasarımcılar

Hem HTML hem de CSS hakkında kapsamlı bilgiye sahip olmanız gerekir. Sunucu tarafı ile istemci tarafı / tasarım geliştiricileri arasındaki iş bölümü tipik olarak sunucu tarafı geliştiricisinin veritabanı ve programlama etkileşimleri tarafından üretilen HTML'yi sağlamasını gerektirir. HTML, CSS tanımlayıcılarını da taşır, böylece istemci tarafı geliştiricileri veya tasarımcıları tarafından manipüle edilebilir.

Sunucu tarafı geliştiricisi olarak işiniz genellikle diğer ikisine HTML / CSS işaretlemesi sağlamaktır. Hem HTML hem de CSS konusunda tam bir ustalık edinin.


1
"sunucu tarafı geliştirici HTML kaynağı" oluşturulan HTML 3 rol birliği olmalıdır. Herkesin HTML'ye dahil olması gerekir. Ayrıca bir sunucu tarafı geliştiricisinin CSS ile ilişkisi yoktur .
Raynos

@Raynos Sunucu tarafı geliştiricileri CSS kurallarını tanımlamaz, bu doğrudur. Bununla birlikte, anlamsal gruplamalar için biçimlendirmede sınıfları nasıl atayacaklarını anlamalıdırlar.
Michael

1
@Micheal farklıdır, HTML ve CSS gerçekten birbiriyle ilişkilidir. İdeal olarak, sunucu tarafı geliştiricileri sadece bir XML / JSON REST API'sini ortaya çıkarır ve ön uç geliştiriciler / tasarımcılar HTML / CSS'yi yazarlar. Sunucu tarafı geliştiriciler hala web geliştiricilerinin kullanması için CSS yazmamalıdır.
Raynos

1

HTML + CSS'yi bilmeniz gerekir, çünkü bunlar zorunludur ve öğrenmesi zor değildir. Tüm tarayıcılar için CSS'yi ayarlamaya çalışırken tuzaklarla karşılaşacaksınız, ancak bunu bilmelisiniz, çünkü bazen sunucu tarafını kullanarak HTML oluşturmanız gerekir.

Kendi blogunuzu oluşturarak bunları öğrenmeye başlayabilirsiniz. Bloglanacak bir şey yoksa, Dersleriniz hakkında blog yazabilirsiniz.


1

İnsanların neden anlamadığını anlamıyorum. Web sitelerinde ön uç kodu yok. Hepsi arka uç kodu. Ön uç kodu tarayıcıdır, bu nedenle Mozilla veya IE veya Chromium / google veya safari üzerinde çalışmadığınız sürece sunucu tarafı kodu yazıyorsunuzdur. Şöyle çalışır: Tarayıcı, web sunucusundan bir dosya ister. Web sunucusu bir dosya çıkarır. Tarayıcı bu dosyayı yorumlar ve tüm dosyalar yorumlanana kadar ek dosyalar (resimler, javascript, css, vb.) İsteyebilir ve bu dosyaları yorumlayabilir.

Şimdi, tarayıcının istediği bu ilk dosya bir html dosyasıdır. Html dosyası ayrıştırılır ve tarayıcı içeriğinin nasıl oluşturulacağına karar verir. Burada tutulması gereken önemli kavramlardan biri, html dosyasının bir ayrıştırıcı tarafından tüketilmesidir.

Web sunucusu, bir bağlantı noktasını dinleyen ve dosya isteklerini işleyen bir yazılımdır. Dosya statik bir dosyaysa (burada dosyanın zaten oluşturulduğu anlamında statik anlamına gelir), istekte bulunan istemciye olduğu gibi kopyalanır. Dosya dinamikse, yani dosya her istendiğinde oluşturulur, web sunucusu dosyayı dosyayı oluşturan yazılım tarafından oluşturulmasını ister (çalışan bir işlem, yüklü bir kitaplık veya bir işlemin oluşturulması) ve bu yazılım dosyayı oluşturur ve web sunucusuna gönderir, bu da dosyayı istemciye gönderir.

Bu dosya istemciye "sunulduktan" ve ayrıştırıldıktan sonra, istemci, html oluşturucu tarafından ayrıştırmayı atlayabileceği ve bunun yerine javascript yorumlayıcısına geri gönderebileceği json dosyaları gibi diğer dosya türlerini isteyebilir. ve bunlar javascript tarafından ayrıştırılır (eval bir ayrıştırma şeklidir). Bunlar AJAX'ın dayandırdığı şeyler.

Şimdi, bu sizi nasıl etkiler? Sunucudaki herhangi bir dosya dinamik olarak oluşturulursa, sunucuda çalışan ve dosyanın nasıl oluşturulacağını bildiren bir yazılım vardır. Bu yazılımları programlayan kişiler "sunucu tarafı" programcı olarak kabul edilir.

Sunucuda oluşturulan bu html dosyaları, tarayıcıya başka hangi dosyaları dahil edeceğini söyleyecektir, bu nedenle javascript ve resimlerin ve css'nin oluşturulan html dosyası tarafından içe aktarılması, düzenlenmesi ve başka bir şekilde düzenlenmesi gerekir.

Birçok web çerçevesi ve söylemeye cesaret edersem, saf "sunucu tarafı" işi ile "istemci tarafı" işi arasında bir sınır oluşturmak için yöntemler (MVC ve ark.) Geliştirilmiştir.

Bahsetmeyi unuttum, ah canım, veri insanları. Veri depolama kullanıcıları, sunucu tarafı html dosyası üreten yazılım yazarlarından daha fazla sunucu tarafıdır. İlişkisel veritabanı, NoSQL veya başka türlü veri depolama, başka bir şeydir. Bunu söylüyorum, çünkü Büyük Satıcı tarafından sunulan çerçeveler ve metodolojiler (MVC ve ark.) Görünüşte "sadece bunu kalınlaştırmayı" kolaylaştırıyor.

Vay, ne uzunca bir cevap.

Sunucu tarafı geliştiriciler ve istemci tarafı geliştiriciler olduğunu bildirmek için bu görünüşte rambly bir cevap yapmak. Bilgi sisteminizi bir web sitesi üzerinden iletirseniz, her şeyin sunucuda depolanması, organize edilmesi ve yönetilmesi gerekir. Ve bu büyük bir karmaşa ve her şeyin nasıl çalıştığını gerçekten öğrenmedikçe, iyi çalışmasını sağlayacak bir cehenneme sahip olacaksınız. Yani hepsi sunucu tarafında.


1
CİDDİ İSE EMİN DEĞİL MİSİNİZ? Bu aptalca. "İstemci tarafı" dağıtım platformunu değil, istemci makinede RUNS olan yazılımı ifade eder. HTML, CSS ve JavaScript sunucuda (duh) STORED, ancak istemcide RUN. Bu yüzden onların gelişimi "müşteri tarafı" olarak kabul edilir.
Graham

İstemci makinede çalışan yazılım, istemcide çalışan tarayıcıdaki oluşturma motoru tarafından yorumlanır. Oluşturma altyapısı önce html'yi, ardından bunu oluşturduktan sonra ilişkili kaynaklardan herhangi birini html dosyası bağlamında işler.
Christopher Mahan

@Graham, Evet, karmaşık, bu yüzden Silverlight ve AdobeAir'ın çekiciliği.
Christopher Mahan

0

Soru için +1. Ayrıca her zaman bir sunucu tarafı kodlamanın html + css + js + ajax + .. ve tonlarca şey yapmaktan daha ilginç ve önemli olduğunu düşündüm. Her neyse, yalnızsanız ve kendi web uygulamanızı oluşturmak istiyorsanız, hem sunucu tarafı programcı hem de tasarımcı + (istemci tarafı programcı) olmalısınız. Bu yüzden şimdi html5 ve css3 öğreniyorum.


Teşekkürler Sergey. HTML 4 ve CSS yapıyorum ve yakında HTML5'e ve sonra PHP'ye geçmeye çalışacağım :)

Hangi tarafın daha ilginç olduğu uygulamaya bağlıdır. Birçok web uygulaması yaklaşık% 90 kullanıcı deneyimi ve% 10 veri tasarımıdır.
kevin cline

Veri tasarımını doğru yaparsanız, kullanıcı deneyimi de basit olacaktır!
Christopher Mahan

"Veri tasarımını doğru yaparsanız, kullanıcı deneyimi de basit olacak!" - Üzgünüm, ama bu şok edici bir şekilde yanlış. Ipod, piyasadaki 100'den fazla MPG oynatıcıyla aynı temel veri tasarımına sahipti, ancak devrim niteliğindeki kullanıcı deneyimi, Apple'ın bugün hepimizin bildiği şirket olmasına neden oldu.
Graham

0

Aslında, duruma göre değişir. Çoğu durumda HTML ve CSS bilmeniz gerekir. Nadir durumlarda her ikisini de göz ardı edebilirsiniz.

Dava 1

Şirketimde, HTML ve CSS ile sunucu tarafı ile ilgili her şey arasında sıkı bir ayrım olan projeler var . Bu, bir tarafta en iyi C # veya PHP geliştiricisini, diğer tarafta en iyi HTML, CSS ve JavaScript geliştiricisini getirmenizi sağlar. Somut olarak, sunucu tarafı geliştirici sayfayı görüntülemek için ihtiyacımız olan her şeyi içeren her sayfa sunucu tarafı nesneleri için üretir; bu nesneler daha sonra XML'e serileştirilir. İstemci tarafı geliştirici bu nesneleri seçer ve XSLT ile XHTML'ye dönüştürür.

Bununla birlikte, diğer şirketlerde bu yaklaşımı hiç görmedim. Ayrıca, çok fazla sınırlaması vardır ve bazı durumlarda mükemmel olsa bile, diğerlerinde pek işe yaramaz.

Durum 2

Küçük web sitelerinde, geliştirici ve tasarımcı birlikte çalıştığında, HTML ve CSS'yi kimin yazdığı konusunda fikir birliği yoktur. Her iki insanın da becerilerine göre her proje için karar vermelisiniz. Birçok durumda, HTML ve CSS ile ilgilenen geliştirici olsa bile, HTML ve CSS'yi çok iyi bilen bazı tasarımcılar da bulabilirsiniz . Bu durumda, amacınız küçük projeler üzerinde çalışmak ve sadece bu tasarımcı ile çalışmak durumunda, HTML / CSS öğrenmek zorunda değilsiniz.

Vaka 3

Daha büyük projelerde, tasarımcıların ve sunucu tarafı geliştiricilerin çalışmalarına dayanarak HTML ve CSS kodu yazmak için özel bir kişiyi işe almak olağandışı değildir . Deneyimli bir C # geliştiricisinin aslında HTML yazması için saatte 100 $ ödemek istemediğiniz için bunu yapmak genellikle iyi bir fikirdir; bu sadece zaman ve para kaybıdır.


Bununla birlikte, bu vakalar en sık değildir. Bu yüzden sunucu tarafı geliştirmeye odaklanın, ancak HTML ve CSS'yi de öğrenmeye çalışın. Ek bilgi asla acıtmaz.


0

Bazen, özellikle başlangıçta, bir proje üzerinde kendiniz çalışacaksınız ve ön uç ve arka uç yapmak zorunda kalacaksınız. Bu durumda, en azından temel bir HTML ve CSS bilgisine ihtiyacınız olacaktır. Harika bir tasarımcı olmak zorunda değilsiniz, sadece arka ucunuzdaki bilgileri tarayıcınızda görünür hale getirmeniz gerekir, böylece bir şeyleri test edebilirsiniz.


0

Aslında, hepsi bağlıdır. Sunucu yazılımı programlamasıyla ilgili sorun yaşarsanız, gerçekten yüksek düzeyli (HTML / CSS) web geliştiricilerin uygulamanızla arayüz kurabilmesi için standart yolları bildiğinizden emin olun. Ancak, HTML / CSS ile yakından bağlantılı çok fazla iş yapmayı planlıyorsanız, HTML ve CSS'yi oldukça iyi bilmeniz gerekir. Her iki durumda da, bazı ekstra teknolojileri bilmek her zaman iyidir. Ben yerli bir programcıyım ve hatta iyi görünümlü bir web sitesi oluşturmak için HTML / CSS bile biliyorum. Bununla birlikte, sadece Chrome / Firefox eklentileri yazmak için AJAX'ı öğrenebilmem için öğrendim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.