30/09/2018, 21:27

Front-end đòi hỏi những kĩ thuật gì?

Chào mọi người, em là sinh viên năm 2 CNTT.
Nói thật thì cho đến thời điểm này em vẫn chưa xác định được hướng đi. Trên trường cũng học một số kiến thức lập trình cơ bản như kiểu C, C++, OOP nhưng em thấy khả năng code của mình thật sự tệ. Mặc dù vậy nhưng vẫn muốn cố theo đến cùng. Em định sẽ theo front-end, nhưng nghe nói phần này cũng khá nặng, em là con gái ạ!
Ac có thể giúp em giải thích một số kĩ năng cần thiết về phần này không ah? Em có tìm hiểu trên mạng nhưng có vẻ phần này cần người có óc sáng tạo, còn em thì … không khá lắm. Nếu mà giờ em xác định theo front-end liệu có thể có khả năng đào tạo nổi không ah
Thanks all

nguyenvtrong viết 23:39 ngày 30/09/2018

Thế bạn hiểu thế nào là front end?
Sáng tạo thì cái nào cũng cần cả, front end và backend đều phải code cả, front end là tất cả những gì người dùng nhìn thấy, tương tác và hiển thị dữ liệu từ csdl.
Front end cần học:
html: là một ngôn ngữ đánh dấu
css: cách trình bày, định dạng những phần tử html (làm cho nó đẹp hơn khi hiển thị )
javascript: tương tác người dùng
Tùy vào đặc điểm của từng ứng dụng web mà phần front end ntn

bphvcg viết 23:37 ngày 30/09/2018

Ngoài 1 số ngôn ngữ cơ bản html, css, js học thêm Photoshop + Illustrator + Flash(giờ ít xài qua bootstrap rồi)

Kim Trọng viết 23:37 ngày 30/09/2018

Trên diễn đàn cũng có một vài post về phần này rồi, đa số ý kiến của mọi người là phần front end sẽ nặng hơn back end…
Vì thế nên em mới thấy hoang mang

while (!(sucesecd = try())) viết 23:31 ngày 30/09/2018

một dự án thông thường sẽ có đến 70% là front end (chủ quan ko ném đá nhé );
đã là front end bất kể là mobile, desktop, web app … thì quan trọng nhất vẫn là người dùng, làm front end là lấy người dùng làm trung tâm.
làm front end thực chất là User experience design nó bao gồm

  • Visual design - thiết kế giao diện đồ họa
  • Information architecture - tổ chức thông tin
  • Structuring, organization, and labeling - nôm na là gộp nhóm và đặt niêu đề cho các nội dung
  • Finding and managing - tìm kiếm và quản lý thông tin
  • Interaction design - thiết kế tương tác
  • Usability - ttính dễ dùng

mục tiêu là để người dùng dễ dành tiếp cận thông tin, dễ dàng sử dụng nói chung là nâng cao trả ngiệm và đạt dược mục địch một cách thuận tiện nhát.

Đỗ Mạnh Hà viết 23:32 ngày 30/09/2018

Hello bạn!

Mình đang là Front-end Developer, mình xin chia sẻ với bạn một chút như sau:

Front-end Dev đơn giản theo ngôn ngữ bình dân là người sẽ làm ra những gì mà người dùng thấy trên website, ứng dụng, game, …mà họ sử dụng. (Còn về thiết kế thì có bên Designer lo nhé, FE không cần đặt nặng quá phần này, nhưng có khiếu hoặc yêu thích cái đẹp thì càng tốt. Vì sẽ có rất nhiều cái lợi)

Một số kỹ năng cần thiết thì tùy vào vị trí là làm FE cho web, cho app hay cho game, … thì sẽ có các yêu cầu khác nhau nhé bạn. Ở đây mình xin đưa ra ví dụ về các kỹ năng cần thiết cho FE Web Dev nhé!

+, HTML/HTML5, CSS/CSS3, JavaScript (có thể sử dụng các thư viện và các frameworks (tùy vào cty làm về mảng nào nó sẽ yêu cầu kỹ năng về việc sử dụng một hoặc nhiều thư viện hoặc frameworks như biết càng nhiều càng tốt nhé! . VD: AngularJS (hoặc BackboneJS, ReactJS, RequireJS, Knockout, …), ThreeJS (làm web 3D),…)
+, Sử dụng tốt các công cụ hỗ trợ như: CSS Preprocessor (SASS/LESS), HTML Template Engine (Jade, HBS), Automation Build Tools (Grunt, Gulp, …), … và rất nhiều nữa (Cái này biết càng nhiều càng tốt nhé nhưng mấy cái này học cách sử dụng cũng nhanh thôi nên ko cần quá lo)
+, FE Dev theo mình thì JavaScript phải là kỹ năng được ưu tiên hàng đầu và được sử dụng nhiều nhất. Nên việc bạn học JavaScript thuần một cách chuẩn và sử dụng nó thường xuyên sẽ là điều tiên quyết để bạn có thể hiểu và học tốt được cách sử dụng các thư viện, các frameworks bên trên mình có kể nên hãy chú trọng vào học JavaScript nếu bạn muốn là một FE Dev giỏi nhé!
+, Hiện giờ FE Dev được yêu cầu phải biết thêm về NodeJS là một điểm ưu tiên cũng như NodeJS giúp chúng ta rất nhiều trong việc tạo UI/UX tốt đến người sử dụng (đấy là chưa kể tới phần chính của nó là Back-end khủng bố mà mình chỉ nói nó hỗ trợ cho phần UI/UX đã bá đạo đến mức nào rồi nhé. Nói chung NodeJS rất hay mà bạn nên tìm hiểu và sử dụng)
+, Biết sử dụng các công cụ đồ họa để thao tác cơ bản trong khi làm FE là điều khá quan trọng, bạn nên biết cách dùng: Photoshop, Illustrator (hoặc CorelDRAW, GIMP, …) để phục vụ cho việc tạo các ảnh hình này kia cho UI nhé. Bên cạnh đó nếu biết thiết kế 1 chút cũng sẽ rất hay để có thể tự tạo được các sản phẩm không đụng hàng (thay vì việc phải đi cóp nhặt trên mạng, mà trong công việc thì kỵ nhất với việc cóp nhặt, tất cả phải đều là duy nhất và không sao chép)
+, Nếu có khả năng và thời gian thì có thể tìm hiểu về Back-end để có thể tiện hơn trong lúc xây dựng website, ứng dụng, … Vì nếu có thể hiểu được thì thời gian và công sức bỏ ra sẽ ít hơn rất nhiều so với FE Dev không biết gì về BE mà cứ phải hỏi suốt là chỗ này dư nào?, chỗ kia ra sao?.. (Có thể là .NET, PHP, Java, Python, Ruby, … đều được, nên chọn công nghệ phù hợp vs sở thích và công việc bạn sẽ định làm)

Ok. Để nói thì còn rất nhiều thứ nữa mà mình muốn chia sẻ, nhưng nhìn chung là sơ sơ nó như vầy. Bạn tham khảo nhé!

kid1412 viết 23:34 ngày 30/09/2018

Mình nghĩ bạn phải nắm chắc được HTML/HTML5, CSS/CSS3, Javascript. Thư viện JS nữa: Jquery, agularJS. còn cắt giao diện tương thích với màn hình (responsive), khả năng tương tác với người dùng . Ngoài ra biết photoshop, AI… Mình theo backend nên góp ý cho bạn vậy thôi.

Kim Trọng viết 23:37 ngày 30/09/2018

Có vẻ như front end liên quan đến khá nhiều thứ, vậy bây giờ em cần phải bắt đầu từ đâu được ah?

kid1412 viết 23:35 ngày 30/09/2018

Html, css, Javascript bạn nhé

Nguyễn Minh Trí viết 23:29 ngày 30/09/2018

nếu mình thiết kế web bằng nhữg thứ ở trên như js, pts, nodejs… Thì dùng asp hay php lợi thế hơn, tương thích vs front-end hơn
Phân back-end hay dùng mysql hay linq

Tom Nguyen viết 23:31 ngày 30/09/2018

Các công ty mà chuyên nghiệp hóa thì bạn có thể làm
Front-end

  • Designer : Thiết kế giao diện
  • front-end dev : dựng khung template, chức năng mà người dùng có thể tương tác
  • Slicer (CSS) : Từ file thiết kế của designer và khung template do dev dựng thì bạn làm style cho nó giống design 100%

Nói chung làm front-end sẽ là quen tay và làm nhanh, con gái có thể làm rất phù hợp.

Nguyễn Đức Hoàng viết 23:31 ngày 30/09/2018

Visual design - thiết kế giao diện đồ họa - Information architecture - tổ chức thông tin- Structuring, organization, and labeling - nôm na là gộp nhóm và đặt niêu đề cho các nội dung- Finding and managing - tìm kiếm và quản lý thông tin- Interaction design - thiết kế tương tác- Usability - ttính dễ dùng

Cái bác nói là của Desinger. Desinger có thể không cần biết code nhé. Front-End là code theo những yêu cầu mà Desinger họ đã thiết kế sẵn. Còn theo mình thì đi theo Front-end tùy mục đích mà có hướng học khác nhau. Nếu muốn tự làm website hay Full-stack thì nên tìm hiểu cả Desinger còn muốn xin việc và tìm hiểu thật sâu về mảng Fron-end thì lên học tốt các công cụ, thư viện framwork của nó… Thông thường thì thu nhập của Designer sẽ cao hơn Front-end.

Nguyen Quang Hien viết 23:31 ngày 30/09/2018

trong web thì có html, css, javascript, jquery,
optional: photoshop(để design).
Em có thể bắt đầu với html với css.
Tuy nhiên xu hướng hiện nay là lập trình viên đa năng nên có điều kiện em nên học thêm phía server side nhé.
Front - end :
Thực sự thì không cần phải code logic nhiều như học trên trường.
html với css chỉ là makeup/style language thôi.
Còn óc sáng tạo thì là việc của bên designer rùi,

Đỗ Mạnh Hà viết 23:41 ngày 30/09/2018

Như mình đã đề cập bên trên và mình cũng muốn giải thích cho bạn biết thêm về khái niệm “thiết kế web” và “lập trình web”

  • "thiết kế web" là phần dựng giao diện (những gì nhìn thấy được, những tương tác, những trải nghiệm trên giao diện đó, …). Có làm việc với code nhưng hầu hết là thiên về code để “thiết kế” hơn là code để “xử lý”. Tầng này sản phẩm được tạo ra là những trang web “tĩnh” theo đúng nghĩa. (Không kể đến dùng các công nghệ như NodeJS, các thư viện, các frameworks của JavaScript để thao tác với phía server thì “tĩnh” vẫn đúng nhé)

  • "lập trình web" là nói tới việc viết mã xử lý dữ liệu bên dưới lớp giao diện được tạo ra bởi các Front-end guys đó. Các chức năng mà website, ứng dụng, … mang lại hầu hết được thực hiện bởi Back-end guys dùng ngôn ngữ lập trình để thao tác vs dữ liệu, tạo ra một trang web “động” thực sự.

Thiết kế web thì sử dụng HTML tạo nội dung, CSS để làm đẹp cho nội dung được tạo bởi HTML, JavaScript để thêm các tương tác nhằm đem lại trải nghiệm tốt cho người dùng. Các công cụ như Photoshop, Illustrator, … là những công cụ đồ họa để tạo và xuất ra các đối tượng đồ họa như: hình ảnh, video, …

Còn dùng ASP.NET hay Java Web (J2EE) hay PHP, … thì đó chỉ là do sở thích, do tính thích hợp với yêu cầu đưa ra,… chứ còn ngôn ngữ nào cũng được hết nhé (Mỗi công nghệ có những ưu, nhược điểm khác nhau nhưng nhìn chung để làm ở mức độ thông thường thì tất cả đều như nhau thôi, sẽ khác nhau trong các trường hợp có cấc yêu cầu đặc biệt). Cho nên ko có cái nào ưu thế hơn cái nào khi nói ở mức bắt đầu học đâu nhé. Chọn bên nào là do bạn tự tìm hiểu và chọn thôi.

Back-end thì nói tới 2 thứ chính là ngôn ngữ lập trình (C# -> ASP.NET, PHP, Java -> Java Web, Python, …) và một hệ quản trị cơ sở dữ liệu ( nơi lưu trữ dữ liệu và sử dụng một trong các hệ quản trị như: MySQL, Microsoft SQL Server, Oracle, … để thao tác dữ liệu. Như vậy. dùng cái nào cũng tùy bạn, bạn nên tìm hiểu trước sau đó hãy đưa ra quyết định nên học gì phù hợp vs sở thích và nhu cầu của bạn. Mình đề xuất một vài sự kết hợp phổ biến như sau:
+, học PHP và MySQL
+, học Java và Oracle
+, học .NET và SQL Server

Dĩ nhiên là có thể kết hợp chéo nhau được hết nhé! Nhưng các đề xuất trên là dựa trên độ phổ biến của cộng đồng IT nhé!

Có lẽ hơi dài rồi! Hy vọng bạn sẽ thấy có ích với câu trả lời của mình!

abcteo viết 23:27 ngày 30/09/2018

Học Front-end có cần học luôn Back end không vậy a? E đang hoang mang không biết nên đi theo hướng nào. Chỉ front-end hoặc Back end hay cả Front-end và Back end

Toàn Tạ Văn viết 23:34 ngày 30/09/2018

Học Front-end có cần học luôn Back end không vậy a? E đang hoang mang không biết nên đi theo hướng nào. Chỉ front-end hoặc Back end hay cả Front-end và Back end

Chỉ chọn 1 cái học trc bạn ạ, mình thì đang bập bẹ học front-end, minh nghe bảo học xong front-end mà tiến tới back-end nữa thì càng tốt (xu thế), nhưng mà mik cứ lo học cho tốt phần front-end hay back-end mà mik chọn đã bạn ạ, cũng mệt ghê ấy

Đỗ Nhiên viết 23:39 ngày 30/09/2018

bạn học javscript cho giỏi vào là ok hết

Toàn Tạ Văn viết 23:34 ngày 30/09/2018

bạn học javscript cho giỏi vào là ok hết

Về mặt Front-end anh cho em hỏi: (em học front-end để làm frelance chứ k vào cty ạ)
1.Học theo lộ trình của freecodecamp được không hả anh???(nó rất giản lược về HTML + CSS mà 8/10 time nó dạy Javascript)
2.Em thấy mn cứ khuyên là học thật vững, thật chắc HTML + CSS để viết code cho ngắn gọn và sạch…Vậy học thế nào là “vững” , học đến thế nào thì đủ vững để có thể chuyển từ HTML sang CSS?
3. Liệu rằng học làm Front-end để làm freelancer thì anh có thể chỉ cho em đường đi được không ạ? Hiện tại em tự học thì em mới học được HTML + CSS (1 ít) + JQuery (1 tẹo), tức là em chỉ tự làm 1 cái web tĩnh cực đơn giản như này thôi ạ_(bài tập của freecodecamp ạ) https://codepen.io/FreeCodeCamp/full/YqLyXB/

Đỗ Mạnh Hà viết 23:36 ngày 30/09/2018
  • Học front-end có cần học luôn Back-end không? -> Cần thì có cần vì biết càng nhiều càng tốt, nhưng phải chú trọng vào hiểu sâu và làm tốt được cả 2 thì nên học thêm (quan trọng nhất là bạn có thể học được chứ ko phải do áp lực).

  • E đang hoang mang không biết nên đi theo hướng nào? -> Theo mình thì ban đầu bạn chỉ nên theo 1 hướng cụ thể hoặc là Front-end Development hoặc Back-end Development. Chú tâm vào học và cải thiện kỹ năng của một hướng và làm thật tốt. Sau trong quá trình làm bạn sẽ tự ngộ ra được nhiều điều của hướng còn lại và dĩ nhiên là bạn có thể học tiếp hướng còn lại đó để làm Full-stack Development.

  • Chỉ front-end hoặc Back end hay cả Front-end và Back end -> Câu trả lời là 2 câu trả lời trên gộp lại

Henry Smith viết 23:36 ngày 30/09/2018
  1. Học theo lộ trình freecodecamp đc đó bạn, lộ trình này là lộ trình chuẩn của front-end á, làm được hết các bài tập của nó là ok. Sau đó sẽ học thêm những cái nâng cao.
  2. Tất nhiên front-end thì phải vững HTML, CSS, JS,… rồi. Vững là khi bạn nhìn vào code của người ta, bạn biết cái đó làm gì, vì sao người ta lại viết vậy mà k viết abc xyz, có thể tự tùy biến code theo ý thích của mình… HTML, CSS bạn cứ học song song, k có khái niệm phải master HTML mới chuyển qua CSS bạn nhé. Rồi chẳng hạn chờ đến khi bạn master CSS rồi mới chuyển qua JavaScript thì chắc chắn 1 điều, bạn sẽ quên HTML luôn :). Cứ học song song vì bọn nó bổ trợ cho nhau hết mà
  3. Lộ trình cứ đi theo freecodecamp để luyện từ cơ bản đến nâng cao rồi sau đó kiếm 1 dự án thực tế nào đó rồi dựa vào kiến thức đã biết để làm.
Trang Tuân viết 23:43 ngày 30/09/2018
  1. Học ở đâu cũng được, miễn thực hành nhiều là từ từ sẽ giỏi lên, không có công thức trong việc này đâu.
  2. Vững là không cần ngó tài liệu, chỉ cần nhìn file ảnh hay photoshop là biết phân tích bố cục để dựng html, dùng css biến hóa ra giống 99% so với thiết kế. Luyện tập bằng cách code tay 100% không dùng autocomplete.
  3. Làm freelancer thì nên biết full stack chứ front end không cũng khó ăn lắm nếu ở thị trường VN. Còn các trang freelancer ngoài nước thì bạn phải giỏi tiếng anh để có thể đọc hiểu yêu cầu và tương tác email qua lại được. Mình đang vừa làm cty (lương thấp, công việc ít), vừa làm freelancer. Mức thu nhập từ freelancer thường gấp 1.5 - 2 lần lương. Tất nhiên để đạt được sự ổn định như hiện tại, mình phải trải qua một quá trình lâu dài khoảng hơn 2 năm để tích lũy khách hàng, tạo dựng niềm tin (thái độ làm việc và cách nói chuyện), build framework từ con số 0. Bây giờ đa số khách hàng của mình là từ khách hàng cũ giới thiệu chứ mình cũng không cần phải đi kiếm.

Ngày xưa (cũng khoảng 6 năm rồi) mình nhờ trang này mà từ không biết gì thành có những nền tảng cơ bản. Mình biết không ít bạn trong đây cũng biết nó https://www.izwebz.com/. Có thể những video trong đây hơi cũ so với công nghệ hiện nay, nhưng nền tảng thì không bao giờ là thừa.

Bài liên quan
0