front end và back end là gì? là một trong những từ khóa được search nhiều nhất trên google về chủ đề front end và back end là gì? Trong bài viết này, blogvieclam.vn sẽ viết bài viết front end và back end là gì? tìm hiểu thêm về front end và back.
Front end và back end là gì? tìm hiểu thêm về front end và back.
Giải mã về 3 loại lập trình web: Front-End vs Back-End vs Full Stack
bài viết được dịch từ web Udacity
Bạn mở một tab trình duyệt mới, gõ vào một địa chỉ URL, và nhấn enter. web được đăng ngay lập tức. Nó gần như làm bạn nín thở bởi layout gọn gàng, các trang được xây dựng tốt, và pic rất thích thú.
Người chịu trách nhiệm cho mọi phần của trải nghiệm đó là ai? Đó chính là các nhà phát triển website.
Tính đến tháng 11 năm 2014, thế giới Internet chứa hơn 680 triệu trang web. Và đang ngày càng tăng trưởng. Hôm nay chúng ta sẽ nói về một số công việc so với các lập trình viên website, những người chịu trách nhiệm cho việc lập trình, thiết lập, đánh giá, và duy trì toàn bộ những website đó.
Các trang web giờ đây là một nguyên nhân quan trọng cho bất kỳ công ty nào để có thể cạnh tranh trên đối tượng. Các thiên hướng phát triển website và những hiệu ứng tốt nhất thay đổi gần như theo mùa, vì vậy các lập trình viên k có khi nào lo thiếu việc.
Nhưng làm sao để biết chính xác có những loại công việc phát triển website nào để kiếm tìm và đào tạo? Nếu bạn dạo quanh các trang web việc sử dụng hoặc duyệt qua các kiềm hãm học Trực tuyến, bạn đủ nội lực biết rằng tăng trưởng website được chia nhỏ thành 3 mối để ý chính: front-end, back-end, và full stack.
Nếu bạn đang biết qua HTML, JavaScript, hoặc có thể một chút Python, nhưng bạn k tất nhiên lắm về con đường để đi tiếp, thì bài viết này là dành cho bạn.
Lập trình viên Front-End
kiềm hãm front-end tại Techmaster Vietnam: https://techmaster.vn/khoa-hoc/25610/web-frontend-cho-nguoi-moi-hoc
Phần front-end của một website là phần tương tác với user. all mọi thứ bạn nhìn thấy khi điều hướng trên Internet, từ các font chữ, màu sắc cho tới các thực đơn xổ xuống và các thanh trượt, là một sự hòa hợp của HTML, CSS, và JavaScript được điều khiển bởi trình duyệt máy tính của bạn.
Các kỹ năng và công cụ
Các lập trình viên front-end chịu trách nhiệm cho giao diện của một website và kiến trúc những trải nghiệm của user. Để thực hiện được những mục tiêu đó, các lập trình viên front-end phải tinh thông 3 ngôn ngữ chính: HTML, CSS, và ngôn ngữ lập trình JavaScript. Ngoài việc thông thạo các ngôn ngữ đó, các lập trình viên front-end cần phải làm quen với các framework giống như Bootstrap, Foundation, Backbone, AngularJS, và EmberJS, để đảm bảo content luôn hiển thị tốt trên mọi thiết bị không giống nhau, và các thư viện như jQuery và LESS, đóng gói code vào trong một hình thức giúp cắt giảm thời gian và hữu dụng hơn. Rất nhiều công việc dành cho lập trình viên front-end cũng yêu cầu kinh nghiệm với Ajax, một kỹ thuật được dùng rộng rãi bằng mẹo dùng JavaScript để cho phép các trang load một phương pháp tự động bằng mẹo tải dữ liệu máy chủ ở phần background.
Một lập trình viên front-end là người chịu trách nhiệm thiết kế nội thất của ngôi nhà đang được xây dựng bởi một lập trình viên back-end.
dùng những tool này, các lập trình viên front-end làm việc chặt chẽ với các designer hoặc nhà đánh giá trải nghiệm user để biến những mockup, hoặc wireframe, từ phát triển tới hàng hóa thực tế. Các lập trình viên front-end giỏi cũng đủ nội lực xác định chính xác các chủ đề cụ thể trong trải nghiệm của người dùng, cung cấp các khuyến nghị và giải pháp nền móng hóa để tác động đến thiết kế đó. Một điều quan trọng là họ có khả năng cộng tác với những nhóm khác trong công ty để hiểu rõ mục đích cụ thể, nhu cầu và thời cơ, và sau đó thực hiện theo những chỉ dẫn đó.
Công việc này bao gồm rất nhiều trách nhiệm, nhưng nó là việc rất đáng để làm. “Tôi là một người sử dụng kỹ thuật, nhưng vẫn là một người có thị giác, và đủ sức thao tác với những gì chúng ta thấy và tương tác với các nền móng kỹ thuật số thông qua việc đánh dấu và viết mã một hướng dẫn tự nhiên,” Mikey Ilagan là một lập trình viên front-end với 8 năm kinh nghiệm giải thích. “Vì điều đó, tôi rất thích có khả năng tạo ra một tác động lên giao diện user, các khía cạnh của một ứng dụng hoặc trang web mà người dùng tương tác và xem.”
Nói chung, một lập trình viên front-end chịu trách nhiệm cho thiết kế nội thất của một ngôi nhà đang được thiết lập bởi một lập trình viên back-end. Các hương vị và phong cách trang trí được quyết định bởi chủ nhà. Theo Greg Matranga, Giám đốc quảng cáo hàng hóa tại Apptix, nói về cả hai nhóm lập trình viên front-end và back-end mà ông giám sát, “Các lập trình viên làm việc trên front-end đôi khi tuyệt vời nhiều hơn về những gì họ làm bởi vì họ thực sự có thể tận dụng cấp độ sáng tạo của mình.”
ví dụ
tất cả mọi thứ bạn đã xem trên website này ngay ngày nay đều đủ sức được thực hiện bởi một lập trình viên front-end. Một designer tạo ra logo và đồ họa, một photographer cung cấp hình ảnh, một copywriter viết content. Nhưng một lập trình viên front-end kết hợp toàn bộ những mảnh ghép đó lại và chuyển nó thành ngôn ngữ web, và tạo ra trải nghiệm mà bạn có khi duyệt qua mỗi trang. Để get một ví dụ cụ thể, khi bạn cuộn con chuột lên xuống ở trang chủ của website Udacity. Bạn có để ý thấy rằng chữ “U” biến mất rồi xuất hiện trở lại không? Đó là tác phẩm của một lập trình viên front-end.
Lập trình viên Back-End
Một số công nghệ Back-end: Golang, PHP, Nodejs,…
Thế nhưng điều gì giúp phần front-end của một website có thể hoạt động được? tất cả dữ liệu sẽ được lưu trữ ở đâu? Đó là phần việc của back end. Phần back end của một trang web bao gồm một máy chủ, một ứng dụng, và một cơ sở dữ liệu. Một lập trình viên back-end xây dựng và duy trì công nghệ mà sức mạnh của những thành phần đó, cho phép phần giao diện user của trang web có thể tồn tại được.
Các kỹ năng và công cụ
Để khiến cho máy chủ, ứng dụng, và cơ sở dữ liệu có thể giao tiếp được với nhau, các lập trình viên back-end dùng các ngôn ngữ server-side giống như PHP, Ruby, Python, Java, và .Net để thiết lập một ứng dụng, và các tool như MySQL, Oracle, và SQL Server để search, lưu trữ, hoặc cải thiện dữ liệu và giúp cho trở lại tới người dùng trong phần front-end. Các công việc tuyển nhân sự lập trình viên back-end cũng thường yêu cầu trải nghiệm về các framework PHP như Zend, Symfony, và CakePHP; có kinh nghiệm với các software quản lý phiên bản giống như SVN, CVS, hoặc Git; và kinh nghiệm với Linux trong việc phát triển và khai triển nền tảng.
Các lập trình viên back-end sử dụng những công cụ này để xây dựng hoặc đóng góp vào các ứng dụng website với code sạch, portable, và được viết ebook chu đáo. Nhưng trước khi viết code, họ cần kết hợp với bên liên quan về nghiệp vụ để hiểu những nhu cầu cụ thể, sau đó chuyển thành những yêu cầu kỹ thuật và mang ra các giải pháp hiệu quả nhất cho việc kiến trúc công nghệ.
“Tôi luôn ưa chuộng việc phát triển back-end bởi vì tôi yêu công việc thao tác với dữ liệu,” JP Toto là một lập trình viên back-end lâu năm, hiện đang làm việc tại công ty Wildbit lý giải. “Thời gian gần đây, các thư viện API public và private đã trở thành một phần thiết yếu của việc đàm luận dữ liệu giữa các thiết bị di động, các trang web, và các hệ thống được liên kết không giống. Việc làm ra các API khiến cộng đồng cảm thấy hữu ích là một phần tạo ra sự thỏa mãn trong công việc của tôi.”
ví dụ
Khi bạn điều hướng tới web này, các máy chủ của Udacity gửi thông tin tới máy tính hoặc thiết bị di động của bạn, rồi chúng được chuyển thành trang web mà bạn đang xem ngay hiện nay. công cuộc đó là kết quả công việc của một lập trình viên back-end. không những thế, nếu bạn ghi danh vào một kiềm hãm học của Udacity hoặc một khóa nanodegree, việc lưu trữ các thông tin một mình của bạn – và thực tế là mỗi lần bạn quay trở lại website và tải nhập, thì dữ liệu của bạn sẽ được gọi trở lại – đó là một phần công việc của lập trình viên back-end.
Lập trình viên Full Stack
Thường thì k có một sự phân biệt rõ ràng trắng đen giữa phát triển front-end và back-end. “Các lập trình viên front-end thường cần phải tìm hiểu thêm những skill back-end, và ngược lại, đặc biệt là trong giai đoạn kinh tế ngày nay,” Matranga nói. “Các lập trình viên phải có nhiều kỹ năng không giống nhau và có văn hóa đo đạt.”
Lập trình viên full stack là những người đa năng.
định nghĩa lập trình viên full stack là vai trò đã được phổ biến mẹo đây 4 năm bởi bộ phận kỹ thuật của Fb. Ý tưởng là một lập trình viên full stack đủ sức làm việc liên tính năng trên “stack” công nghệ, tức là cả front end lẫn back end.
“Làm việc chuyên nghiệp trên cả server side và client side mở ra nhiều cơ hội,” Federico Ulfo, một lập trình viên full stack tại doanh nghiệp Grovo nói. Nhưng, chắc chắn, phát triển full stack chẳng phải là không có những thách thức của nó. “Để làm ra một món ăn ngon, bạn đủ sức giỏi nấu hoặc thông minh nướng, nhưng để kiểm soát cả hai skill này thì cần có thời gian và kinh nghiệm. Và tôi không nói về việc cứ làm theo một phương thức nào đó, vì bất kỳ ai cũng đủ sức sử dụng như vậy. Tôi đã nói về việc có các yếu tố nguyên liệu để sẵn sàng cho một cái gì đó thực sự tốt.”
Các kỹ năng và công cụ
Các lập trình viên full stack sử dụng việc giống như các lập trình viên back-end ở phía máy chủ của lập trình website, nhưng họ đủ nội lực cũng thành thạo các ngôn ngữ front-end để điều khiển nội dung trông ntn ở phía giao diện của trang web. Họ là những người đa năng.
Để minh họa sự phức tạp ngày càng gia tăng của phát triển full stack, sau đây là một ví dụ về những yêu cầu mà một full stack phải có trong vài năm về trước, và so sánh với yêu cầu hiện nay:
Bất kể là dùng công cụ xác định nào, tùy thuộc vào dự án và KH, các lập trình viên full stack nên có văn hóa ở mọi cấp độ về mẹo web hoạt động: cài đặt và cấu hình các máy chủ Linux, viết các API server-side, nhảy vào phần JavaScript client-side của một áp dụng, và cũng cần có “con mắt thẩm mỹ” với CSS.
sử dụng những tool này, các lập trình viên full stack cần có khả năng ngay lập tức định hình trách nhiệm của client-side hay server-side, và trình bày rõ ràng về mặt ưu yếu điểm của các phương pháp khác nhau.
gợi ý
Một lập trình viên full stack sẽ chịu trách nhiệm cho all luồng thử nghiệm của bạn với post blog này, từ thời gian tải và bố cục cho tới tính tương tác và cấu trúc của nó.
Điểm mấu chốtphát triển web có rất nhiều mặt không giống nhau. Nhưng k quan trọng về kiểu tăng trưởng nào mà bạn đã theo đuổi, các skill mềm giống như chú ý đến chi tiết, cấp độ học hỏi nhanh chóng, mức độ khắc phục chủ đề một cách hiệu quả, và mức độ giao tiếp sẽ luôn giúp bổ trợ rất nhiều cho những skill cứng nêu trên.
Thật hạnh phúc khi chưa bao giờ có thời điểm nào tốt hơn để theo đuổi nghề phát triển web như lúc này. tỉ lệ việc sử dụng của các lập trình viên web được dự báo sẽ tăng trưởng 20% trong giai đoạn 10 năm từ 2012-2022, nhanh hơn tỉ lệ trung bình của all các ngành không giống.
Nguồn: internet