Phân biệt Front End và Back End
Lập trình là một trong những ngành nghề "hot" hiện nay. Vậy giữa hai vị trí phát triển Front End và Back End thì cái nào sẽ phù hợp với bạn hơn?
Mặc dù cả hai lĩnh vực đều thuộc thuật ngữ của nhà phát triển website trực tuyến, nhưng nếu lập trình viên chọn một hướng giữa Front End và Back End, thì điều đó có thể khiến bạn bỏ qua ngã rẻ còn lại mãi mãi. Vì vậy, chúng ta cần phải hiểu về kiến thức cơ bản của cả hai chuyên ngành.
Phân biệt công việc của Front End và Back End
Front End Developer
Front End Developer là người tập trung phát triển phía Client Side, xây dựng giao diện và trải nghiệm cho người dùng.
Ví dụ điển hình, khi bạn truy cập vào một phần mềm, công việc của lập trình viên Front End là xác định chỗ đặt logo, màu chủ đạo, kích thước chữ... và phụ trách hiển thị, trải nghiệm người dùng. Họ đưa ra quyết định về cái nhìn đầu tiên, trang web đẹp hay xấu, tinh tế hoặc thô lỗ.
Back End Developer
Back End Developer là người xử lý mọi logic nghiệp vụ phức tạp ẩn ở phía sau, giúp hệ thống hoạt động trơn tru, ổn định. Dữ liệu người dùng, thuật toán phân tích... đều nằm tại đây. Họ có quyền quyết định cách thức website vận hành và đóng một vai trò to lớn.
Phân biệt kỹ năng của Front End và Back End
Kỹ năng Front End Developer
Ngôn ngữ chủ đạo dùng phát triển Front End bao gồm HTML, CSS, JavaScrip. Tuy nhiên, để code nhanh, gọn, lẹ thì lập trình viên có thể sử dụng thêm các framework và thư viện khác:
- Bootstrap, jQuery, AngularJS, React JS, Vue JS...
- Kỹ năng thiết kế, sử dụng photoshop, kinh nghiệm về UI/UX...
- LESS, SASS (stylesheet language).
- Sử dụng npm, grunt... để optimize, minimize HTML/CSS/JS.
- Kiến thức Ajax và cách thiết kế giao diện responsive...
Back End Developer
Để trở thành Back End Developer, lập trình viên cần biết sử dụng ngôn ngữ phía Server cũng như thao tác với cơ sở dữ liệu:
- Ngôn ngữ server-side như C#, Java, Python, Ruby... Ngoài ra, còn bao gồm kiến thức về web framework đi kèm, trong đó có ASP.NET MCV, Spring, Django, Rails...
- Kiến thức về database SQL là MS SQL Server, MySQL...
- Kinh nghiệm viết web, phương pháp đăng nhập, phân quyền.
- Kiến thức về CMS bao gồm WordPress, Joomla, Umbraco...
Đặc biệt, kiến thức phần Back End rất nhiều, phức tạp. Do vậy, chỉ cần tập trung vào 2-3 ngôn ngữ chính và trau dồi bản thân để cải thiện mình.