front end developer là gì? là một trong những từ khóa được search nhiều nhất trên google về chủ đề front end developer là gì? Trong bài viết này,xaydungweb.vn sẽ viết bài viết nói về front end developer là gì? tìm hiểu thêm về front end developer.
front end developer là gì? tìm hiểu thêm về front end developer.
FrontEnd là gì?
-
17936

Lướt qua một số diễn đàn luận bàn về CNTT tôi thấy k ít bạn trẻ ít nhiều thắc sang chảnh về cụm từ “Front-end developer” bên cạnh một số bạn diễn đạt khá suôn sẻ về thuộc tính đặc thù nhưng luôn luôn còn thiếu ý thì một số bạn luôn luôn rất mơ hồ về lĩnh vực này hay nói mẹo khác các bạn đã hiểu sai và chưa nắm rõ bản chất của lĩnh vực. Vì lẽ đó hôm nay tôi viết bài này nhằm diễn giải rõ hơn nhằm giúp các bạn có cái Quan sát bao quát và hiểu được bản chất cốt lõi của nó.
Một lập trình viên front-end như là người chịu trách nhiệm thiết kế nội thất (phong thuỷ) của ngôi nhà vừa mới được xây dựng bởi một lập trình viên back-end.
Nếu giống như hướng dẫn đây vài năm Front-end (FE) được hiểu như là tiến trình giải quyết 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 mẹo sử dụng sự phối hợp của HTML, CSS, và JavaScript thì định nghĩa đó gần như sai trong thế giới hiện đại. tại sao vậy? Trước khi đi vào bài chúng ta phải hiểu một phương pháp sơ sài tối thiểu rằng:
- 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ả hiệu quả về cho clients
mẹo hiểu này chỉ là tạm thời, chúng ta sẽ hiểu khác hơn ở phần “Front-End hiện đại”
I) VAI TRÒ:Trước khi internet băng thông rộng (khoảng trước 2007) cùng với các thiết bị được tăng trưởng mạnh mẽ như cho đến nay FE thực sự đóng vai trò rất hạn chế trong việc hiển thị giao diện cho user, lúc đó nhu cầu thực tế là làm thế nào cho một vận dụng hiển thị là quá đủ tuy nhiên phải làm thế nào cho Performance (hiệu suất) đạt hiệu quả cao để user k cảm thấy delay (giật) hay load (tải) chậm là đạt. Gánh nặng bấy giờ đè nặng lên Back-End một phương pháp rõ rệt.
Giao diện web Yahoo! Trong những năm FE chưa được tập trung
Hãy Nhìn lên hình trên bạn sẽ thấy rạch ròi trong những năm trước FE hoàn toàn không được quan tâm điều này cũng easy hiểu vì khi đó tốc độ internet là cực thấp khi mà đa số user chỉ tiếp cận được với Internet dial-up, với tốc độ “rùa bò” của nó thì việc down text thôi đã vất vả rồi chứ k nói đến pic hay animation…. Lúc này vai trò Server và Back-End là rất quan trọng. Thử tưởng tượng nhìn thấy 10.000 user truy cập vào một web đồng thời đồng nghĩa với tối thiểu có 10.000 request gọi lên máy chủ (Server) đó là một lượng thông tin khủng khiếp thời đó. Vai trò của Back-End rất cần thiết trong việc xử lý hàng ngàn dòng tin thế này sao cho không bị “nghẽn cổ chai” mà luôn luôn đạt tốc độ tính toán/response cực nhanh… Lúc này nếu bạn là một Back-End giỏi lương của bạn không dưới 4 số lượng (tính theo USD).
Chưa hết đó cũng là lúc Server phải mạnh mẽ để chịu tải với hàng triệu request mỗi ngày, cũng như là luôn luôn vững vàng trước những vụ tấn công DDos, Flood post… kéo theo dịch vụ host, Security được tăng trưởng mạnh mẽ, tôi còn nhớ những năm đó lĩnh vực quản trị online máy tính cũng ăn nên làm ra lắm.
giới thiệu một vụ tấn công DDos
Một điều khuyết điểm là việc phân chia ranh giới giữa Back-End và Front-End không được rạch ròi. Khi đó cả 2 anh developer BE và FE gần như phải sử dụng việc cùng nhau, thiếu anh này công việc của anh kia bị đình trệ ngay. Điều này kéo đến hệ quả là một số Back-End kiêm luôn việc của Front-End mà kết quả thì chắc chắc là chỉ ở mức tạm chấp thuận mà thôi.
II) NHU CẦU VỀ THẨM MỸ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 pic tuyệt xinh cùng với những hiệu ứng đẹp mắt khởi đầu được tập trung. Lúc này vai trò của FE cũng khởi đầu được quan tâm tuy luôn luôn còn rất hạn chế vì cùng lúc đó vai trò của Designer cũng được chú ý bậc nhất.
Một web quan tâm thiết kế
Thời điểm này vai trò của Back-End cũng quan trọng k kém, cùng với Server được đầu tư rất chu đáo từ load balancing cho đến email server, isa server … Việc xử lý thông tin, chịu tải của Back-End được giảm đi một phương pháp đáng kể cùng lúc đó việc xử lý giao diện, hiệu ứng được FE xử lý triệt để hơn nhờ vào các trình duyệt mới ra đời vô cũng mạnh mẽ với hàng trăm thư viện support đủ sức kể đến khi đó là: YUI Library, jQuery…
Điều nguy cơ ở đây là sự không thông hiểu nhau giữa Designer và Front-End liên tục xảy ra từ thảo luận tới gay gắt mà nếu bạn từng ở một trong hai vị trí này sẽ thấu hiểu. chủ đề là ở chỗ một anh Designer design ra giao diện và anh ta muốn chỗ nút (button) đó khi hover sẽ đổi màu, hay khi open website lên sẽ có hàng tá hiệu ứng hiện ra mà không thể nào diễn tả bằng hình ảnh được. Điều anh ta cần sử dụng là diễn giải ý tưởng của mình cho anh FE hiểu nhưng mọi thứ đâu dễ vậy!.
luận bàn bằng tiếng Việt đang khó, discuss bằng English còn khó hơn kéo đến luôn có sự tranh luận giữa Designer & Front-End khi sản phẩm sử dụng ra không đúng ý của nhau là thế.
Sự bất đồng không chỉ dừng lại ở đó khi mà HTML5 và CSS3 ra đời kéo theo sự bùng nổ công nghệ Resposive (tương like trên mobile/tablet) làm cho việc design Layout nhiều hơn và FE thỉnh thoảng gặp bế tắc với những giao diện khó khi thực hiện Responsive. UI/UX thời điểm này bắt đầu được đề cao mạnh mẽ.
ảnh dung nhìn thấy một giao diện xinh nhưng khi hiển thị trên mobile không thể hiển thị đầy dủ chi tiết hoặc các nút bấm nằm quá sát nhau gây chông gai cho user có ngón tay lớn và thiết bị nhỏ thì đó chính là thất bại của UI/UX mất rồi.
Một giao diện rất khó thực hiện Responsive hoàn hảo
III) FRONT-END HIỆN ĐẠI:Đến khoảng 5-3 năm đổ lại đây thiết bị cầm tay được phát triển vô cùng mạnh mẽ k còn những PC Pentium IV/256Mb RAM già cỗi nữa mà thay vào đó là những điện thoại với CPU 3-4 nhân, ram 1-2Gb là dỏm. Nhận thấy được xu thế này các nhà tăng trưởng vừa mới thay đổi tìm hiểu về Server-Clients một cách không giống biệt. Thay vì Back-End & Server chịu tải nặng nề như trước thì giờ đây hầu hết mọi thứ được trả về cho Clients đảm nhiệm. Tiền đầu tư vào những Server vừa mới giảm đi đáng kể bởi gánh nặng tài chính ấy đã được share lại cho Clients gánh bớt.
Nói một mẹo easy hiễu là thay vì trước kia mọi giải quyết thuật toán hay render thì phía Clients phải gửi request lên Server sau đó Server xử lý rồi trả hiệu quả để Client hiển thị thì giờ đây với nền tảng Back-End là web API (có thể sử dụng websocket để request/response) các vận dụng đủ nội lực chạy real-time (thời gian thực) và FE hoàn toàn chủ động để giải quyết các data như: tạo vòng lập, lưu trữ cục bộ, validate…
Đó cũng chính là lý do mà hàng trăm business công nghệ lớn nhỏ cho ra đời rất nhiều Front-End FrameWork như:
- Google: AngularJS, @Angular, Material…
- Facebook: React, React native…
- Evan You: Vuejs
- Twitter: Bootstrap, hogan.js…
- Apache: Cordova
- Drifty Co: Ionic
- …
Nói như vậy các bạn cũng khó hình dung nổi những gì mà FE hiện đại phải học và sử dụng, dưới đây tôi sẽ list ra một số đặc điểm cơ bản mà FE hiện đại phải nắm bắt và vận hành:
- Thay vì viết CSS giống như trước thì giờ đây FE phải viết SASS/LESS/STYLUS để tốc độ tăng trưởng vận dụng nhanh hơn và đủ nội lực viết thuật toán vào trong các file SASS/LESS/STYLUS…
- Thay vì phải viết HTML thuần tuý giống như trước thì giờ đây cùng với HTML6/CSS4 sắp release FE hiện đại phải dùng Template engine như: JADE, PUG, Handlebars… Để đủ nội lực gán biến, gọi hàm và một hướng dẫn không khó khăn, hoặc tuỳ chọn giao diện cho Clients render.
- Thay vì phải lệ thuộc và những thư viện jQuery giống như trước và bị hạn chế khi mà lắm lúc chúng k 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… Để build ra code JS hợp lý nhất nhằm đảm bảo đủ sức hoạt động tốt trên mọi hoàn cảnh.
- Thay vì phải kéo cả Back-End vào để giải quyết những tình huống giống như trước kia giống như tạo vòng lặp hiển thị dữ liệu thì giờ đây BE và FE 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ừ khó khăn đến cả tương tác với user giống như phải bắt sự kiện nhận diện người dùng vuốt mấy ngón tay, vuốt qua trái hay phải…
- Ngay cả đến những Notifications real-time để push lên thiết bị FE cũng phải đảm nhiệm hết
- 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à chỉ nên có API Back-End tạo dựng mà thôi.
Nói giống như vậy không phải vai trò của Back-End đã chấm dứt hay mai một đi mà BE hiện đại cũng dần đi theo một lối không giống đó chính là web API/Web Socket… Chỉ có vậy thành công của các vận dụng hiện đại mới phát triển nhanh chóng và hiệu quả cao được.
Cũng giống như Designer hiện giờ đang dần phải thoát khỏi sự tù túng trong design khi xưa mà phải xông pha vào một thế giới sâu rộng hơn nghiên cứu về sự tương tác của user hơn chứ k thể chỉ tô vẽ cho ra ảnh hài là được, để tồn tại và giải quyết được nhu cầu thực tiễn ít nhiều Designer hiện tại đã kiêm luôn cả việc cutting HTML của FE trước kia
Từng là một Back-End trước kia sau này là Designer & Front-End Developer tôi dám chắc với các bạn rằng Designer & Front-End Developer là cả một ngành nghệ thuật chúng ngày một hoà quyện và xích lại gần nhau hơn. Nếu có khả năng tôi khuyên bạn nên là cả 2.
k thể hiểu Front-End là web Developer được mà phải hiểu rộng ra đó là một ngành nghề hội quá đủ cả sự tinh tế, thẫm mỹ, am hiểu về logic, sự tiện lợi… Chính là người tạo nên bộ mặt cho brand của món hàng khi đối diện user.
tổng kết đã k còn có sự giới hạn nào ở đây! Một Front-End thích thú chẳng hề chỉ chịu trách nhiệm về giải quyết giao diện web mà thôi mà thực tiễn phải kiêm luôn cả viết Mobile App (cross platform), xây dựng giao diện và thuật toán cho mọi thứ từ mobile, Web/WebApp, máy POS cho đến cả email template… tuy nhiên còn phải đảm nhận về cả sự thẩm mỹ, sự hài hoà và Performance (hiệu suất) của vận dụng. Gần hơn là trở thành một full-stack developer, vì sao k nhỉ? Để rồi bạn sẽ quá đủ tự tin submit một đơn ứng tuyển mà chẳng hề là một lá đơn xin việc.
Nguồn: internet.com