Nhà phát triển phía máy chủ nên biết bao nhiêu HTML và CSS? [đóng cửa]


16

Tôi đã thực hiện CC++bây giờ tôi muốn bắt đầu sự nghiệp của mình như một nhà phát triển web . Tôi đã đọc rất nhiều về phát triển web và biết rằng có hai loại nhà phát triển trên web,

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

Tôi muốn tập trung vào phát triển phía máy chủ . Tôi nghĩ rằng tốt nhất là bắt đầu với những điều cơ bản nên tôi bắt đầu làm HTMLCSS. Tôi phát hiện ra rằng nó CSSquá lớn để ai đó hoàn toàn làm chủ dễ dàng. Tôi muốn biết rằng những gì cơ bản mà một nhà phát triển phía máy chủ nên biết và anh ta nên là một bậc thầy về HTML và CSShay bỏ qua nó?


1
Nhà phát triển dịch vụ web sẽ là loại nhà phát triển thứ 3 hay người đó sẽ được tính là nhà phát triển phía máy chủ?
JB King

1
@ jb-king IMO sẽ là phía máy chủ
BlackICE

1
@Jb king, @ David: Làm thế nào về việc gọi nó là nhà phát triển phía máy chủ, người biết cách hoạt động của web.

1
Ai đó phát triển dịch vụ web có thể không cần sử dụng CSS hoặc HTML nếu dịch vụ chỉ trả về XML hoặc SOAP. Do đó, điều này khác xa với cùng một người phát triển một trang web hoặc ứng dụng web ASP.Net có nhiều tính năng UI sử dụng HTML và CSS để tạo sự tương phản ở đây.
JB King

Nói với tư cách là một nhà phát triển đầy đủ phía khách hàng, mọi người nên biết HTML. Khi tôi gặp các nhà phát triển phía máy chủ có nhiều năm kinh nghiệm đã phá vỡ chức năng vì họ không biết rằng ID phải là duy nhất trên một trang, tôi muốn tát họ. FFS, nó được gọi là "ID." Làm thế nào để bạn thậm chí tin tưởng một anh chàng đến gần SQL sau đó? Và chỉ mất vài giờ một năm để có manh mối về HTML mới nhất. Ngoài ra, IMO, bất kỳ ai dự kiến ​​sẽ chạm vào một trang mẫu cũng có thể giải thích tất cả các đề xuất YSLOW vì họ biết cách trình duyệt phân tích và hiển thị trang.
Erik Reppen

Câu trả lời:


15

Nó sẽ lưu ý bạn để biết họ tốt. Nếu bạn là một nhà phát triển web, thì bạn là một nhà phát triển web. Bạn sẽ có thể độc lập viết các ứng dụng web và bao gồm công nghệ phía máy khách.


3
+1 Tôi là một nhà thiết kế tệ hại, nhưng trên một vài ứng dụng, tôi không có quan hệ đối tác với một nhà thiết kế thực sự.
Michael

2
Bạn, bạn của tôi, không cô đơn. Tôi không để mắt đến một giao diện người dùng tuyệt vời nhưng tôi đã tìm hiểu kỹ về nó để tôi KHÔNG CẦN một nhà phát triển khác để tạo ra một ứng dụng web có thể hoạt động đầy đủ.

8

Tôi coi mình là một nhà phát triển "phía máy chủ".

Mặc dù nằm trong "mặt trái" của phát triển web, tôi nghĩ rằng việc biết các nguyên tắc cơ bản về HTML và CSS là vô cùng hữu ích. Tôi làm việc trên các "hệ thống quản lý nội dung web" (WCMS) điển hình, như Drupal, Day CQ và Liferay, và hầu hết các yêu cầu và yêu cầu kinh doanh đều xoay quanh việc thay đổi giao diện.

Không cần phải trở thành "bậc thầy" ở HTML hoặc CSS, nhưng ở mức tối thiểu, bạn nên biết cách tạo một trang web tĩnh, được tạo kiểu bằng CSS. Bạn nên biết những điều cơ bản của các hình thức và các cơ chế đầu vào khác nhau. Đối với CSS, hãy hiểu sự khác biệt giữa thuộc tính ID và Class và cách các công cụ chọn hoạt động. Rất nhiều thứ này bạn sẽ nhận theo thời gian.

Cuối cùng, xây dựng một số kiến ​​thức về sự khác biệt phổ biến của trình duyệt. Một lần nữa, đây là kiến ​​thức bạn sẽ tiếp thu theo thời gian, nhưng nhận ra rằng sự khác biệt của trình duyệt tồn tại và được chuẩn bị để nhận ra nó.


1
+1 trên "đây không cần phải trở thành 'bậc thầy' tại HTML hoặc CSS". Tôi là một nhà thiết kế đã trở thành lập trình viên và có sự giảm thiểu đáng kể về lợi nhuận của kiến ​​thức CSS sau khi học CSS cơ bản cho bố cục bằng cách sử dụng float. Các mọt sách Front End có các đối số điên rồ nhất về hỗ trợ CSS3 / IE / v.v., và rất nhiều trong số đó sôi nổi vì giáo điều hoặc tôn giáo. "Bàn BAD!," "Vít IE!" "Microformats sẽ chữa ung thư!" Rất nhiều trong số những tranh luận đó không có tác động gì trong thế giới thực, vì vậy nếu bạn học một số CSS, hãy đảm bảo tránh các vòng tròn giáo điều và chỉ tập trung vào tìm hiểu cách đặt công cụ trên màn hình.
Graham

Có, tôi đã từng tham gia những cuộc tranh luận như "Có nên sử dụng bảng không?" sau đó "Tại sao Google và Twitter sử dụng bảng?" Nhìn thấy những câu hỏi như vậy, tôi chỉ nghĩ rằng thật khó để chọn từ các thẻ có sẵn /

Về phía khách hàng, các bảng dưới dạng bố trí hoặc tiếp tục sử dụng các phao dành riêng cho định vị ngang trong năm 2011 hoặc 2014 không phải là sự từ chối giáo điều. Chúng là dấu hiệu của một người nào đó đã quyết định đặt ngày hết hạn cho sự nghiệp của họ. Một nhà thiết kế hoặc nhà phát triển giao diện người dùng quảng cáo / tiếp thị / đại lý độc quyền có thể có thể thoát khỏi điều đó. Nếu tôi thấy rằng trong công việc gần đây của ai đó, tôi sẽ khuyên bạn nên thuê bất cứ nơi nào tôi đã làm việc mà sản phẩm cuối cùng không phải là dùng một lần.
Erik Reppen

1

Tôi thực sự sẽ xác định ba phân khúc:

  • Nhà phát triển phía máy chủ
  • Nhà phát triển phía máy khách (lập trình viên JavaScript)
  • Nhà thiết kế

Bạn sẽ cần một kiến ​​thức kỹ lưỡng về cả HTML và CSS. Việc phân công lao động giữa phía máy chủ và nhà phát triển phía máy khách / nhà thiết kế thường yêu cầu nhà phát triển phía máy chủ cung cấp HTML được tạo ra bởi cơ sở dữ liệu và tương tác lập trình. HTML đó cũng mang các định danh CSS, để nó có thể được các nhà phát triển hoặc nhà thiết kế phía khách hàng thao tác.

Công việc của bạn với tư cách là nhà phát triển phía máy chủ thường là cung cấp đánh dấu HTML / CSS cho hai người kia. Nhằm mục đích làm chủ hoàn toàn cả HTML và CSS.


1
"Nhà phát triển phía máy chủ cung cấp HTML" HTML được tạo phải là sự kết hợp của 3 vai trò. Mọi người cần tham gia với HTML. Ngoài ra, một nhà phát triển phía máy chủ không liên quan đến CSS.
Raynos

Các nhà phát triển phía máy chủ @Raynos không xác định quy tắc CSS, điều này là đúng. Tuy nhiên, họ phải hiểu cách gán các lớp trong đánh dấu cho các nhóm ngữ nghĩa.
Michael

1
@Micheal khác nhau, HTML và CSS thực sự có liên quan. Các nhà phát triển phía máy chủ lý tưởng chỉ hiển thị API XML / JSON REST và các nhà phát triển / nhà thiết kế mặt trước viết HTML / CSS mặc dù. Các nhà phát triển phía máy chủ vẫn không nên viết CSS cho các nhà phát triển web sử dụng.
Raynos

1

Bạn cần biết HTML + CSS, vì chúng rất cần thiết và không khó học. Bạn sẽ gặp phải những cạm bẫy trong khi cố gắng thiết lập CSS cho tất cả các trình duyệt, nhưng Bạn phải biết điều đó, vì đôi khi bạn cần tạo HTML bằng cách sử dụng phía máy chủ.

Bạn có thể bắt đầu học những thứ đó bằng cách tạo blog của riêng bạn. Nếu không có gì để viết blog, Bạn có thể viết blog về Bài học của bạn.


1

Uh, tôi không hiểu tại sao mọi người không hiểu. Không có mã mặt trước với các trang web. Đó là tất cả mã back-end. Mã mặt trước là trình duyệt, vì vậy trừ khi bạn làm việc trên Mozilla hoặc IE hoặc Chromium / google hoặc safari, bạn đang viết mã phía máy chủ. Đây là cách nó hoạt động: Trình duyệt yêu cầu một tệp từ máy chủ web. Máy chủ web xuất ra một tệp. Trình duyệt diễn giải tệp đó và có thể yêu cầu các tệp bổ sung (hình ảnh, javascript, css, v.v.) và giải thích các tệp đó, cho đến khi tất cả các tệp đã được diễn giải.

Bây giờ, tệp đầu tiên này yêu cầu trình duyệt là một tệp html. Tệp html được phân tích cú pháp và trình duyệt quyết định cách hiển thị nội dung của nó. Vì vậy, một trong những khái niệm quan trọng cần giữ lại ở đây là tệp html được sử dụng bởi trình phân tích cú pháp.

Máy chủ web là một phần mềm lắng nghe trên một cổng và xử lý các yêu cầu cho các tệp. Nếu tệp là một tệp tĩnh (có nghĩa là tĩnh ở đây theo nghĩa là tệp đã được tạo) thì nó chỉ được sao chép nguyên trạng cho máy khách yêu cầu. Nếu tệp động, nghĩa là nó được tạo mỗi khi tệp được yêu cầu, máy chủ web yêu cầu tệp được tạo bởi phần mềm tạo tệp (có thể là một quy trình đang chạy, thư viện được tải hoặc sinh ra một quy trình) và phần mềm đó tạo ra tệp và gửi nó đến máy chủ web, người này sẽ gửi nó đến máy khách.

Khi tệp đó đã được "phục vụ" cho máy khách và được phân tích cú pháp, máy khách có thể yêu cầu các loại tệp khác, chẳng hạn như tệp json, nơi nó có thể bỏ qua việc phân tích cú pháp bởi trình kết xuất html và thay vào đó, tệp sẽ được trả về trình thông dịch javascript chạy trong máy khách và chúng được phân tích cú pháp (eval là một dạng phân tích cú pháp) bằng javascript. Đây là những gì AJAX dựa trên.

Bây giờ, điều này ảnh hưởng đến bạn như thế nào? Nếu bất kỳ tệp nào trên máy chủ được tạo động, thì có phần mềm đang chạy trên máy chủ cho nó biết cách tạo tệp. Những người lập trình các phần mềm này được coi là lập trình viên "phía máy chủ".

Các tệp html này, được tạo trên máy chủ, sẽ cho trình duyệt biết các tệp khác cần bao gồm, do đó, javascript và hình ảnh và css cần được nhập, sắp xếp và được tổ chức bởi tệp html được tạo.

Nhiều khung công tác web, và tôi dám nói, các phương pháp (MVC và cộng sự) đã được phát triển để tạo ra một ranh giới giữa công việc "phía máy chủ" thuần túy và công việc "phía máy khách".

Tôi quên đề cập đến, trời ơi, những người dữ liệu. Những người lưu trữ dữ liệu thậm chí còn ở phía máy chủ nhiều hơn so với người viết phần mềm tạo tệp html phía máy chủ. Việc lưu trữ dữ liệu, cho dù cơ sở dữ liệu quan hệ, NoQuery, hay nói cách khác, là một thứ khác hoàn toàn. Tôi đề cập đến điều này bởi vì các khuôn khổ và phương pháp được chào hàng của Nhà cung cấp lớn (MVC và cộng sự một lần nữa) dường như làm cho nó dễ dàng chỉ "đơn giản là in đậm".

Woah, thật là một câu trả lời dài.

Tôi đưa ra câu trả lời có vẻ thô lỗ này để thách thức tuyên bố của bạn rằng có các nhà phát triển phía máy chủ và nhà phát triển phía máy khách. Nếu bạn cung cấp hệ thống thông tin của mình thông qua một trang web, mọi thứ phải được lưu trữ, sắp xếp và quản lý trên máy chủ. Và đó là một mớ hỗn độn lớn, và trừ khi bạn thực sự tìm hiểu cách thức hoạt động của tất cả, bạn sẽ có một thời gian khiến nó hoạt động tốt. Vì vậy, đó là tất cả phía máy chủ.


1
KHÔNG NÊN NẾU NGHIÊM TRỌNG? Điều này thật ngốc nghếch. "Phía máy khách" dùng để chỉ phần mềm CHẠY trên máy khách, không phải nền tảng phân phối. HTML, CSS và JavaScript được lưu trữ trên máy chủ (duh) nhưng CHẠY trên máy khách. Vì vậy, sự phát triển của họ được coi là "phía khách hàng".
Graham

Phần mềm chạy trên máy khách được giải thích bởi công cụ kết xuất trong trình duyệt, đây là phần mềm chạy trên máy khách. Đầu tiên, công cụ kết xuất sẽ hiển thị html và sau đó, sau khi kết xuất nó, sẽ hiển thị bất kỳ tài nguyên nào được liên kết, trong ngữ cảnh của tệp html.
Christopher Mahan

@Graham, Vâng, nó phức tạp, do đó là sự hấp dẫn của Silverlight và AdobeAir.
Christopher Mahan

0

+1 cho câu hỏi. Tôi cũng luôn nghĩ rằng mã hóa phía máy chủ thú vị và quan trọng hơn việc thực hiện html + css + js + ajax + .. và tấn mọi thứ. Dù sao, nếu bạn ở một mình và bạn muốn tạo ứng dụng web của riêng mình, bạn phải là cả lập trình viên phía máy chủ và nhà thiết kế + (lập trình viên phía khách). Đó là lý do tại sao bây giờ tôi đang học html5 và css3.


Cảm ơn Serge. Tôi đang làm HTML 4 và CSS và tôi sẽ cố gắng chuyển sang HTML5 và sau đó là PHP :)

Bên nào thú vị hơn phụ thuộc vào ứng dụng. Nhiều ứng dụng web có khoảng 90% trải nghiệm người dùng và 10% thiết kế dữ liệu.
kevin cline

Nếu bạn thực hiện đúng thiết kế dữ liệu, trải nghiệm người dùng cũng sẽ đơn giản!
Christopher Mahan

"Nếu bạn thực hiện đúng thiết kế dữ liệu, trải nghiệm người dùng cũng sẽ đơn giản!" - Tôi xin lỗi, nhưng đó là sai. Ipod có thiết kế dữ liệu cơ bản giống như hơn 100 người chơi MPG khác trên thị trường, nhưng trải nghiệm người dùng mang tính cách mạng của nó đã dẫn đến việc Apple là công ty mà chúng ta đều biết ngày nay.
Graham

0

Trên thực tế, nó phụ thuộc. Trong hầu hết các trường hợp, bạn phải biết HTML & CSS. Trong trường hợp hiếm hoi, bạn có thể bỏ qua cả hai.

Trường hợp 1

Trong công ty của tôi, có những dự án tách biệt nghiêm ngặt giữa HTML & CSS và mọi thứ liên quan đến phía máy chủ . Điều này cho phép mang nhà phát triển C # hoặc PHP tốt nhất ở một bên và nhà phát triển HTML, CSS & JavaScript tốt nhất ở phía bên kia. Cụ thể, nhà phát triển phía máy chủ tạo ra cho mọi đối tượng phía máy chủ chứa mọi thứ chúng ta cần để hiển thị trang; những đối tượng này sau đó được tuần tự hóa thành XML. Nhà phát triển phía máy khách chọn các đối tượng đó và chuyển đổi chúng thành XHTML với XSLT.

Điều này đang được nói, tôi chưa bao giờ thấy cách tiếp cận này trong các công ty khác. Ngoài ra, nó có rất nhiều hạn chế và thậm chí nếu nó hoàn hảo trong một số trường hợp, nó hoàn toàn không hoạt động trong nhiều trường hợp khác.

Trường hợp 2

Khi, trên các trang web nhỏ, nhà phát triển và nhà thiết kế làm việc cùng nhau, không có sự đồng thuận về người viết HTML & CSS. Bạn phải quyết định cho mọi dự án, theo kỹ năng của cả hai người liên quan. Ngay cả trong nhiều trường hợp, đó là nhà phát triển giao dịch với HTML & CSS, bạn cũng có thể tìm thấy một số nhà thiết kế biết rất rõ về HTML & CSS . Trong trường hợp này, nếu ý định của bạn là làm việc trên các dự án nhỏ và chỉ với nhà thiết kế như vậy, bạn không phải học HTML / CSS.

Trường hợp 3

Trong các dự án lớn hơn, không có gì lạ khi thuê một người tận tâm viết mã HTML & CSS dựa trên công việc của các nhà thiết kế và nhà phát triển phía máy chủ. Thường là một ý tưởng tốt để làm như vậy, vì bạn không muốn trả 100 đô la mỗi giờ cho nhà phát triển C # có kinh nghiệm để thực sự viết HTML; nó chỉ là một sự lãng phí thời gian và tiền bạc.


Điều này đang được nói, những trường hợp không phải là thường xuyên nhất. Vì vậy, tập trung vào phát triển phía máy chủ, nhưng cũng cố gắng học HTML & CSS. Kiến thức bổ sung không bao giờ làm tổn thương.


0

Đôi khi, đặc biệt là vào lúc bắt đầu, bạn sẽ tự mình làm việc trong một dự án và sẽ phải làm front-end và back-end. Trong trường hợp này, bạn sẽ cần ít nhất một kiến ​​thức thô sơ về HTML và CSS. Bạn không cần phải là một nhà thiết kế tuyệt vời, bạn chỉ cần có được thông tin từ phần phụ trợ của bạn hiển thị trong trình duyệt của bạn để bạn có thể kiểm tra mọi thứ.


0

Trên thực tế, tất cả phụ thuộc. Nếu bạn gặp khó khăn trong việc lập trình phần mềm máy chủ, chỉ cần đảm bảo rằng bạn biết các cách tiêu chuẩn mà các nhà phát triển web cấp độ thực sự (HTML / CSS) sẽ có thể giao tiếp với ứng dụng của bạn. Tuy nhiên, nếu bạn có kế hoạch thực hiện nhiều công việc được liên kết chặt chẽ với HTML / CSS thì bạn cần phải biết rõ về HTML và CSS một cách hợp lý. Dù bằng cách nào, thật tốt khi biết một số công nghệ bổ sung. Tôi là một lập trình viên bản địa và thậm chí tôi biết HTML / CSS đủ để tạo ra một trang web có giao diện đẹp. Điều đó đang được nói, tôi chỉ học nó để tôi có thể học AJAX để viết một số addon Chrome / Firefox.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.