Phát triển web không chỉ là một điều. Nó bao gồm nhiều kỹ năng, và có nhiều loại nghề nghiệp khác nhau trong không gian phát triển web. Ba thuật ngữ thường được sử dụng là “giao diện người dùng”, “phần cuối,” và “chồng đầy.” Dưới đây là những khác biệt chính giữa ba cụm từ này.
Phát triển Web Front-End
Front-end phát triển , trong khi các thành phần của nó luôn thay đổi, về cơ bản giao dịch với các phần bên ngoài của một trang web hoặc ứng dụng web.
Tại cốt lõi của nó, phát triển front-end liên quan đến HTML, CSS và JavaScript.
- HTML : Ngôn ngữ đánh dấu siêu văn bản, hoặc HTML, là thành phần cấu trúc chính của tất cả các trang web trên Internet. Không có nó, các trang web không thể tồn tại.
- CSS : CSS thêm kiểu vào HTML. Tôi thích sử dụng sự tương tự mà HTML giống như khuôn mặt và CSS giống như trang điểm.
- JavaScript : JavaScript hoặc JS, đã phát triển trong vài năm qua. Liên quan đến phát triển front-end, JS là quan trọng bởi vì nó giúp làm cho các trang web tương tác.
Nói chung, giao diện người dùng được kết hợp với nguyên tắc bố cục và thiết kế. Tuy nhiên, các nhà phát triển front-end không nhất thiết phải thiết kế.
Về cơ bản, các nhà phát triển front-end xây dựng hình thức bên ngoài - các trang web mà người dùng nhìn thấy. Điều này có nghĩa là nhà phát triển front-end phải xem xét khả năng đọc và khả năng sử dụng của trang web và / hoặc ứng dụng.
Hơn nữa, giao diện người dùng chạy trên máy khách - nghĩa là máy tính cục bộ của người dùng - trong hầu hết các trường hợp, trình duyệt web.
Và thông tin không được lưu trữ ở phía khách hàng.
Phát triển Web Back-End
Back-end phát triển web là những gì diễn ra đằng sau hậu trường. Sự kết thúc trở lại cho phép trải nghiệm front-end.
Để làm cho mọi thứ trở nên dễ dàng, hãy nghĩ về phần đầu trước như một phần của tảng băng trôi trên mặt nước. Đó là những gì người dùng nhìn thấy - trang web có kiểu dáng đẹp.
Mặt sau là phần còn lại của băng; nó không thể được nhìn thấy bởi người dùng cuối, nhưng nó là yếu tố cơ bản nhất của một ứng dụng web. Sự kết thúc trở lại chạy trên máy chủ, hoặc, nó thường được gọi là "phía máy chủ".
Không giống như sự phát triển front-end (chủ yếu sử dụng HTML, CSS và JavaScript), phát triển web back-end có thể dựa vào một loạt các ngôn ngữ và khung công tác.
Một số ngôn ngữ phổ biến được sử dụng ở phía sau bao gồm:
- Ruby (thường được sử dụng kết hợp với khung Rails - AKA Ruby on Rails)
- Python (thường được sử dụng với khung công tác Django ở mặt sau)
- PHP (WordPress CMS phổ biến sử dụng PHP trên back-end của nó - PHP có một vài khung công tác phổ biến, một là Laravel)
- Node.js (trở nên phổ biến hơn - đây là môi trường back-end cho các ứng dụng web được tạo bằng JavaScript)
Tuy nhiên, để các trang web và ứng dụng web có quy mô lớn hoạt động, nó không chỉ là ngôn ngữ và khuôn khổ back-end. Tất cả thông tin trên trang web hoặc ứng dụng phải được lưu trữ ở đâu đó.
Đây là nơi các cơ sở dữ liệu đến. Các nhà phát triển back-end cũng xử lý chúng.
( Lưu ý : bạn có thể xây dựng trang web không có cơ sở dữ liệu bằng cách chỉ sử dụng HTML và CSS. Đây sẽ là một trang web tĩnh và ít linh hoạt hơn nhiều. Tuy nhiên, trang web dựa vào thông tin được tạo động - Facebook, Yelp, bất kỳ trang web thương mại điện tử - cần một cơ sở dữ liệu.)
Cơ sở dữ liệu phổ biến bao gồm:
- MySQL
- PostgreSQL
- MongoDB
- Và những người khác
Thông thường, một số ngôn ngữ / khung công tác nhất định yêu cầu một cơ sở dữ liệu nhất định. Ví dụ, khung công tác ngăn xếp đầy đủ MEAN yêu cầu MongoDB.
Ngoài việc biết một ngôn ngữ / khung công tác và cơ sở dữ liệu chạy ngược, các nhà phát triển back-end cũng phải có kiến thức về kiến trúc máy chủ.
Thiết lập máy chủ đúng cách cho phép trang web chạy nhanh, không bị lỗi và không cung cấp lỗi cho người dùng. Điều này nằm trong miền của nhà phát triển back-end vì hầu hết các lỗi xảy ra ở phía sau, không phải là giao diện người dùng.
Đầy đủ ngăn xếp
Có, bạn đoán nó: Full stack là sự kết hợp của cả hai mặt trước và mặt sau.
Một nhà phát triển full-stack là một jack-of-all-trades. Chúng chịu trách nhiệm cho tất cả các cấp phát triển, từ cách máy chủ được thiết lập cho CSS liên quan đến thiết kế.
Những ngày này, có quá nhiều thứ phát triển web khiến hầu như không thể xử lý cả hai mặt. Trong khi nhiều người có thể yêu cầu được xếp chồng đầy đủ hoặc trên thực tế, họ vẫn thường tập trung nhiều hơn vào một bên: khách hàng hoặc máy chủ. (AKA mặt trước hoặc mặt sau.)
Tại các công ty / khởi nghiệp nhỏ hơn, một người sẽ có nhiều khả năng chịu trách nhiệm về tất cả các khía cạnh của phổ phát triển web. Tuy nhiên, tại các công ty lớn hơn, mọi người làm việc theo nhóm và có vai trò chuyên môn - một người chỉ tập trung vào kiến trúc máy chủ, một người khác (hoặc một vài người) ở giao diện người dùng, v.v.
Phần kết luận
Phát triển web có nhiều khuôn mặt, và nó đang phát triển nhiều hơn mỗi ngày. Có rất nhiều điều để học, nhưng không cảm thấy bị áp lực để học mọi thứ cùng một lúc. Hãy nhớ rằng, trong môi trường làm việc, bạn thường sẽ ở trong một nhóm với những người khác. Tập trung vào việc mài giũa kỹ năng của bạn trong một khía cạnh phát triển web tại một thời điểm. Đừng quá lấn át, và bạn sẽ là một người chuyên nghiệp trước khi bạn biết điều đó.