Xin chào tất cả các bạn, chào mừng bạn đến với kênh thông tin tổng hợp Totvadep.com. Các bạn có biết đối với lập trình web có 2 loại cơ bản được gọi là Front End và Back End. Những dân công nghệ thông tin thường biết điều này. Song, kiến thức về công nghệ cũng không ngừng thay đổi và phát triển theo thời đại.
Đã từng có khái niệm cho rằng Front End là cách gọi quy trình sử dụng các ngôn ngữ HTML, CSS, JavaScript thiết kế và xây dựng giao diện cho các trang web. Nhưng hiện tại điều này còn đúng nữa hay không? Nếu không vậy thì Front End hiện đại là gì? Bài viết sau đây sẽ cùng bạn đi tìm lời giải đáp cho câu hỏi Front End là gì? Góc nhìn mới nhất về Front End hiện đại.
NỘI DUNG TÓM TẮT
1. Front End là gì?
Cách hiểu trước đây:
Front End là cách gọi quy trình sử dụng các ngôn ngữ HTML, CSS, JavaScript thiết kế và xây dựng giao diện cho các trang web hoặc ứng dụng web để người dùng có thể xem và tương tác trực tiếp trên đó.
“Nếu như cách đây vài năm Front-end (FE) được hiểu như là quá trình xử lý giao diện của một trang web từ các font chữ, màu sắc cho tới các menu xổ xuống và các thanh trượt bằng cách sử dụng sự kết hợp của HTML, CSS và JavaScript thì định nghĩa đó gần như sai trong thế giới hiện đại.” Đây chính là nhận định của tác giả Phạm Nguyễn Bảo Nguyên trên diễn đàn bàn về công nghệ Tech Talk Blog năm 2017.
2. Front End hiện đại là gì?
Trước hết, chúng ta hiểu một cách cơ bản về Front End và Back End như sau:
- Front-End: phụ trách phần giao diện hiển thị ra thiết bị clients
- Back-End: phụ trách phần viết code để xử lý thông tin và trả kết quả về cho clients.
Bạn chỉ cần nắm cơ bản như vậy trước đã. Bây giờ, chúng ta hãy đi đến nhận định mới về Front End.
Hình ảnh minh họa (Nguồn: Internet)
Nhận định hiện tại:
Như các bạn đã thấy, Front End phụ trách phần giao diện hiển thị ra thiết bị cho clients. Nhưng bây giờ không thể hiểu Front-End là những Web Developer (nhà phát triển trang web) một cách thông thường được mà phải hiểu rộng ra đó là một lĩnh vực hội đủ cả sự tinh tế, thẩm mỹ, am hiểu về logic, sự tiện lợi… Người làm Front End chính là người tạo nên bộ mặt cho thương hiệu của sản phẩm web khi hiển thị cho người dùng.
3. Một FE hiện đại cần nắm vững những điều gì?
Quan điểm trước đây cho rằng, các kỹ sư IT chuyên về Front End cần nắm và hiểu được 3 loại ngôn ngữ lập trình cơ bản bao gồm: HTML, CSS, JavaScript để thiết kế và xây dựng giao diện cho các trang web.
Song đến khoảng 5 đến 7 năm trở lại đây (tức khoảng năm 2013-2015), các thiết bị công nghệ phát triển vô cùng mạnh mẽ, đặc biệt là sự bùng nổ của các thiết bị cầm tay như Smartphone, Ipad,… FE thật sự đã đến lúc cần phải được chú trọng nhiều.
Thời đại của thẩm mỹ web hiện đại
Tác giả Phạm Nguyễn Bảo Nguyên cho rằng: “Những năm tháng vật vã” với Internet dial-up đã qua và dần được thay thế bằng các công nghệ hiện đại hơn như ADSL, DSL, VPN… đó cũng là lúc nhu cầu về một Website thẩm mỹ được đặt ra với những hình ảnh tuyệt đẹp cùng với những hiệu ứng bắt mắt bắt đầu được chú trọng. Lúc này vai trò của FE cũng bắt đầu được chú trọng tuy vẫn còn rất hạn chế vì song song đó vai trò của Designer cũng được quan tâm bậc nhất.”
Hình ảnh minh họa (Nguồn: Internet)
Dưới đây là một số điểm khác biệt mà các kỹ sư Front End hiện đại cần nắm vững và áp dụng:
- Thay vì chỉ viết HTML thuần tuý như trước thì giờ đây cùng với HTML6/CSS4 sắp release FE hiện đại phải sử dụng Template engine như: JADE, PUG, Handlebars… để có thể gán biến, gọi hàm và một cách dễ dàng, hoặc tùy chọn giao diện cho Clients render.
- Thay vì viết CSS như trước thì giờ đây FE phải viết SASS/LESS/STYLUS để tốc độ phát triển ứng dụng nhanh hơn và có thể viết thuật toán vào trong các file SASS/LESS/STYLUS…
- Thay vì phải phụ thuộc vào những thư viện jQuery như trước và bị giới hạn khi mà lắm lúc chúng không chạy được trên một số thiết bị thì FE hiện đại phải viết NativeScript hoặc Babel, TypeScript… để xây dựng ra những code JS chuẩn nhất nhằm đảm bảo có thể hoạt động tốt trên mọi môi trường.
- Thay vì phải kéo cả Back-End vào để xử lý những tình huống như trước kia như tạo vòng lặp hiển thị dữ liệu thì giờ đây Back end và Front End hoàn toàn làm việc với nhau không giới hạn vị trí địa lý nữa, FE hiện đại làm việc độc lập với BE.
- FE hiện đại sẽ phải xử lý các hiệu ứng từ đơn giản đến phức tạp. Bên cạnh, Fe còn phải cảm biến đến cả tương tác của người dùng như phải nắm bắt và nhận diện được người dùng vuốt mấy ngón tay, vuốt qua trái hay phải, v.v…
- Ngay cả đến những Notifications (thông báo) real-time để push lên thiết bị FE cũng phải đảm nhiệm hết.
- Điều quan trọng là FE hiện đại kiêm luôn cả việc thiết kế/viết Mobile App (ứng dụng điện thoại) mà ngày trước chỉ cần có API Back End tạo dựng mà thôi.
4. Phân biệt Front End, Back End và Full Stack Developer
Dưới đây là những sự khác biệt cơ bản nhất mà bạn có thể dễ dàng nắm bắt và hình dung.
4.1 Front End Developer là ai?
Front End Developer là những lập trình viên tập trung phát triển phía Client Side, nói một cách đơn giản dễ hiểu là tập trung vào mảng phát triển xây dựng giao diện và trải nghiệm cho người dùng.
Chúng ta sẽ dùng Facebook làm ví dụ minh họa để dễ hình dung hơn nhé. Nếu bạn là Front End Developer cho ứng dụng này thì bạn là người xác định: logo đặt ở đâu, màu chủ đạo là màu gì, font chữ to hay nhỏ, ảnh này để kích cỡ thế nào, trái tim bay lên ra sao, nút Like đặt ở đâu….Tức là, người phụ trách phát triển HIỂN THỊ và TRẢI NGHIỆM người dùng cho ứng dụng web.
Hình ảnh minh họa (Nguồn: Internet)
Đúng như tên Front End, các FE developer chính là người quyết định CÁI NHÌN ĐẦU TIÊN của người dùng về trang web. Web đẹp hay xấu, tinh tế hay không là do thiết kế của FE. Vì thế FE cần có khả năng thẩm mỹ cao ( look & feel) và năng lực thiết kế web tốt.
4.2 Back End Developer là ai?
Không khác với tên gọi là mấy, Back End đảm nhận những xử lý “hậu kỳ”. Nếu Front End Developer có quyền lực kiến tạo nên vẻ đẹp của các trang web, thì Back End developer là người xử lý mọi logic nghiệp vụ phức tạp ở ẩn ở phía sau, giúp cho hệ thống hoạt động trơn tru. Back End Developer là người quyết định cách thức website được vận hành. Người vô cùng quan trọng. Dữ liệu của người dùng, thuật toán phân tích, v.v… đều nằm ở back-end.
Hình ảnh minh họa (Nguồn: Internet)
Ví dụ minh họa: Đối với trang mạng xã hội Facebook, khi người dùng đăng tải một trang thái, story nào đó, để status/ story ấy được lưu trữ thì cần backend, để status/story ấy hiển thị cho bạn bè của bạn xem thì cũng cần backend, để status ấy lưu những reaction như Love, like, phẫn nộ, haha, wow và gần đây là “thương thương” đều cần back-end.
4.3 Full Stack Developer là ai?
Nói về Full Stack Developer là nói về nhà lập trình web toàn diện. Full Stack (FS) Developer vừa đảm nhận phần việc của cả Front End và Back End. Điều này có nghĩa là các FS Developer vừa cần có tư duy logic với các ngôn ngữ lập trình phức tạp vừa cần có tư duy thẩm mỹ cao. Họ vừa phải giỏi về Code Sever lịa cần linh động với ngôn ngữ CSS.
Hình ảnh minh họa (Nguồn: Internet)
Các lập trình viên full stack làm 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 web, nhưng họ có thể cũng thành thạo các ngôn ngữ front-end để điều khiển nội dung trông như thế nào ở phía giao diện của trang web. Họ là những người đa năng.
Lời kết
Nói tóm lại, đối với công nghệ nói chung và công việc của các Web Developer nói riêng không có giới hạn và điểm dừng nào cả.
Ngày nay, một FE Developer hiện đại không chỉ chịu trách nhiệm về xử lý giao diện website mà còn kiêm cả việc xây dựng và phát triển Mobile App (ứng dụng điện thoại). FE xây dựng giao diện và thuật toán cho mobile, Web/WebApp, máy Pos cho đến cả Email Template, v.v…
Ngoài ra, FE còn đảm nhận về thẩm mỹ, sự hài hòa và hiệu suất ứng dụng nữa. Do đó, khi đã yêu thích, đam mê và trở thành một FE hiện đại, việc bạn phát triển toàn diện để trở thành một Full – Stack Developer là việc hoàn toàn có thể đúng không nào?
>>> Xem thêm: Kỹ năng của để trở thành những FE, BE và Full Stack chuyên nghiệp
Qua bài viết này, Totvadep.com đã cùng bạn tìm hiểu về Front End là gì? Chúng ta cũng đã cùng nhau xem xét các nhận định về FE từ khái niệm cũ đến nhận định hiện đại. Chúng tôi hy vọng những thông tin trên hữu ích với bạn. Cảm ơn bạn đã dành thời gian theo dõi bài viết này. Chúc bạn luôn vui khỏe và thành công trong cuộc sống.
>>> Bạn có thể tham khảo thêm các bài viết sau:
- Chromium là gì? Nên dùng Chrome hay Chromium?
- Fresher IT là ai? Phân biệt Fresher với Intern
- McAfee là gì? Có nên bảo vệ máy tính của bạn bằng McAfee?