About Learn web development
MDN Learn web development (Học phát triển web) hướng đến việc dạy những kỹ năng và kiến thức nền tảng mà một nhà phát triển web front-end cần có để có thể tìm việc và phát triển lâu dài trong ngành web ngày nay. Tài liệu này thể hiện những giá trị mà chúng tôi cho rằng web nên có — khả năng tiếp cận, tính bền vững, khả năng sử dụng, hiệu năng và cộng đồng. Chúng tôi rất mong các nhà giáo dục, nhà phát triển và sinh viên sử dụng tài nguyên này, đồng thời đề cao những giá trị đó trong công việc, trong giảng dạy và trong các sản phẩm họ xây dựng.
Nội dung này được tạo ra bởi cộng đồng MDN với sự xem xét và phản hồi từ các chuyên gia trong Mozilla và toàn bộ cộng đồng web rộng lớn hơn. Cảm ơn những đóng góp quý báu của các bạn; bạn biết mình là ai rồi đấy!
Bối cảnh và động lực
Chúng tôi ban đầu ra mắt phần MDN Learn Web Development vào năm 2016 với mục tiêu làm cho MDN dễ tiếp cận hơn với người không chuyên và giúp những nhà phát triển web mới bắt đầu tiến từ "người mới bắt đầu đến tự tin".
Nội dung khá thành công, nhưng sau vài năm chúng tôi nhận thấy cấu trúc còn kém. Người mới bắt đầu thực sự muốn có một lộ trình rõ ràng để theo dõi nhằm có được kiến thức cần thiết, thay vì phải tự tìm hiểu xem nên học gì và khi nào.
Ngoài ra, Mozilla tiếp xúc với các chuyên gia trong ngành hằng ngày, và chúng tôi thường xuyên nhận được phản hồi về những lỗ hổng kiến thức ở nhân viên mới. Các nhà tuyển dụng thường nhận xét:
- Quá tập trung vào việc sử dụng framework để xây dựng ứng dụng web nhanh chóng, đi kèm với việc thiếu hiểu biết về các công nghệ nền tảng đằng sau những framework đó. Điều này dẫn đến thiếu kỹ năng giải quyết vấn đề và khả năng tuyển dụng lâu dài kém hơn khi công cụ thay đổi.
- Thiếu các thực hành tốt nhất cốt lõi như semantic, khả năng tiếp cận và thiết kế responsive. Điều này dẫn đến thiếu sự tập trung vào người dùng, gây ra các hạn chế về khả năng sử dụng.
- Lỗ hổng về kiến thức về cách trình duyệt hoạt động cơ bản, cách chúng hiển thị thông tin, và tính tương tác bạn nhận được miễn phí. Điều này khiến các giải pháp trở nên phức tạp không cần thiết và thường không thể tiếp cận.
- Kỹ năng mềm hạn chế về giải quyết vấn đề, làm việc nhóm, nghiên cứu và các kỹ năng quan trọng khác.
Kết quả là, chúng tôi đã tạo ra một chương trình học để giúp định hướng mọi người học một bộ kỹ năng tốt hơn, giúp họ có khả năng tuyển dụng cao hơn, và giúp họ xây dựng một web tốt hơn, dễ tiếp cận hơn và có trách nhiệm hơn trong tương lai. Chúng tôi muốn họ có cơ hội thành công tốt nhất. Chúng tôi ra mắt MDN Curriculum vào đầu năm 2024.
Tuy nhiên, chúng tôi nhanh chóng nhận được phản hồi rằng người dùng thấy khó hiểu khi có hai tài nguyên học tập trên MDN, với chương trình học/lộ trình học ở một nơi và nội dung học ở nơi khác. Do đó, chúng tôi đã hợp nhất Curriculum vào phần học tập vào tháng 12 năm 2024.
Đối tượng mục tiêu
>Sinh viên
Chương trình học này hữu ích cho một số nhóm sinh viên:
- Sinh viên muốn có việc làm trong ngành, điều này có thể liên quan đến việc đạt được bằng cấp hoặc chứng chỉ liên quan. Chương trình học sẽ đóng vai trò là hướng dẫn cho những gì họ cần học.
- Các nhà phát triển web hiện tại muốn "nâng cấp" kỹ năng của mình, đảm bảo bộ kỹ năng của họ còn hiện hành và xác định các lỗ hổng kiến thức mà họ cần tìm hiểu thêm.
- Các nhà phát triển web không phải front-end có kinh nghiệm phát triển ở các lĩnh vực khác (ví dụ như nhà phát triển web back-end hoặc nhà phát triển dành riêng cho nền tảng), muốn chuyển sang phát triển web front-end và cần hướng dẫn về các chủ đề họ nên học.
Nhà giáo dục
Các nhà giáo dục có thể sử dụng nội dung này như một hướng dẫn khi tạo các chương trình, đơn vị học và thông số đánh giá cho bằng cấp đại học liên quan đến web, khóa học cao đẳng, khóa học tại trường lập trình hoặc tương tự. Việc tuân theo các mục tiêu học tập trong các bài viết của chúng tôi sẽ giúp đảm bảo rằng các khóa học dạy các kỹ thuật và thực hành tốt nhất hiện hành, đồng thời tránh các thực hành xấu và thông tin lỗi thời.
Để tìm hiểu thêm, hãy tham khảo trang Tài nguyên cho nhà giáo dục của chúng tôi.
Note: Toàn bộ MDN Learn Web Development Curriculum có sẵn dưới dạng PDF tiện lợi để chia sẻ với sinh viên và đồng nghiệp của bạn. Tải xuống Curriculum.
Phạm vi
Thuật ngữ nhà phát triển front-end có thể mơ hồ; nó có thể có nghĩa khác nhau với những người khác nhau, và những người làm việc ở phía front-end có thể được kỳ vọng thực hiện nhiều loại nhiệm vụ khác nhau.
Những gì được đề cập
Tập hợp các bài viết này không cố gắng dạy mọi chủ đề mà một nhà phát triển web có thể được kỳ vọng biết một cách chuyên sâu. Chương trình học bao gồm những nội dung sau:
- Các kỹ năng kỹ thuật cốt lõi như HTML ngữ nghĩa, CSS và các nguyên tắc cơ bản của JavaScript.
- Các thực hành tốt nhất như khả năng tiếp cận, thiết kế responsive và lý thuyết thiết kế giao diện người dùng.
- Các công cụ chính như framework và kiểm soát phiên bản.
- Kỹ năng mềm để phát triển tư duy và thái độ cần thiết để có được việc làm.
- Kiến thức về môi trường như hệ thống máy tính và tệp, duyệt web, kiến thức cơ bản về dòng lệnh và trình soạn thảo code.
- Một số "phần mở rộng" mà chúng tôi cho rằng là các kỹ năng bổ sung hữu ích khi các nhà phát triển bắt đầu mở rộng kiến thức và phát triển chuyên môn. Bao gồm:
- CSS transforms và animation
- Các danh mục phổ biến của Web API (ví dụ: media, đồ họa và lưu trữ phía máy khách)
- Các nguyên tắc cơ bản của phát triển web phía máy chủ
- Hiệu năng
- Bảo mật và quyền riêng tư
- Kiểm thử
Mức độ chi tiết
Các chủ đề được trình bày với mức độ chi tiết khác nhau.
- Một số được đề cập chuyên sâu, ví dụ như các nguyên tắc cơ bản về HTML và CSS. Đây là những điều quan trọng cần hiểu rõ trước khi sinh viên đi quá xa trên hành trình học tập của mình.
- Một số được đề cập tổng quan hơn, ví dụ như kiểm soát phiên bản hoặc kiểm thử. Điều quan trọng là hiểu những chủ đề này là gì và bắt đầu với một số kiến thức cơ bản, nhưng những loại kỹ năng này có thể được mở rộng khi bạn tiếp tục trong sự nghiệp.
Những gì không được đề cập
Cũng có một số lĩnh vực mà chúng tôi không đề cập trong chương trình học này, cụ thể là:
- Đề cập toàn diện về các ngôn ngữ/nền tảng back-end. Chúng tôi có cung cấp một giới thiệu ngắn gọn về Node.js (Express) và Python (Django) vì điều này hữu ích cho mọi nhà phát triển web để hiểu cách HTTP và các công nghệ phía máy chủ hoạt động. Tuy nhiên, chúng tôi không cung cấp đề cập toàn diện trên nhiều nền tảng; điều đó sẽ nằm ngoài phạm vi của MDN.
- Đề cập chuyên sâu về cơ sở dữ liệu quan hệ truyền thống (ví dụ: MySQL hoặc Postgres) và các kho dữ liệu phía máy chủ khác (ví dụ: cơ sở dữ liệu đám mây như MongoDB hoặc Google Cloud Datastore). Chúng tôi cung cấp giới thiệu ngắn gọn về các công nghệ như vậy trong các module Lập trình trang web phía máy chủ của chúng tôi.
- Các chủ đề DevOps chuyên sâu như nền tảng đám mây để cung cấp và tự động hóa (ví dụ: Amazon AWS, Google Cloud Platform và Microsoft Azure) và các công cụ container hóa (ví dụ: Kubernetes và Docker). Chúng tôi đề cập nhẹ đến một số công cụ được coi là thuộc không gian DevOps — như GitHub và các công cụ kiểm thử tự động — nhưng chúng có sự giao thoa rõ ràng với không gian nhà phát triển front-end.
- Thiết kế đồ họa ngoài kiến thức cơ bản được phác thảo trong Thiết kế cho nhà phát triển.
- Các kỹ năng liên quan đến các vai trò như quản lý sản phẩm và chương trình (ví dụ: tổ chức, nghiên cứu và lập kế hoạch).
Ghi công
Tài nguyên này miễn phí cho bất kỳ ai sử dụng. Nếu bạn thấy nó hữu ích, chúng tôi yêu cầu bạn cân nhắc thực hiện những điều sau:
-
Liên kết đến nó. Ví dụ: một nhà giáo dục có thể bao gồm nội dung sau trong thông tin chương trình công khai của họ:
html<p> This course is based on <a href="https://mdn.go-mizu.dev/en-US/curriculum/" >MDN Learn Web Development</a >. </p> -
Hãy kể cho người khác biết về nó! Chúng tôi rất mong nhiều sinh viên và nhà giáo dục nhất có thể bắt đầu sử dụng tài liệu này và cùng nhau coi nó như một tiêu chuẩn cho kiến thức nền tảng của nhà phát triển web.
Note: Các nhà giáo dục nên sử dụng tài liệu này như một hướng dẫn, nhưng việc sử dụng nó không có nghĩa là được Mozilla xác nhận.
Quy trình cập nhật
Ngành công nghiệp phát triển web đang thay đổi liên tục và nhanh chóng. Để giữ cho các khuyến nghị của chúng tôi luôn hiện hành, chúng tôi sẽ xem xét tài liệu của mình thường xuyên, cập nhật changelog của chúng tôi, và đưa ra thông báo hằng năm, liên hệ với những người tạo ra các khóa học tuân theo để thông báo về các thay đổi và khuyến khích họ xem xét/cập nhật khóa học của họ khi thích hợp.
Chúng tôi dự định thực hiện điều này vào quý 2 mỗi năm, để cho các nhà giáo dục có thời gian trong quý 2/quý 3 thực hiện các thay đổi trước khi bắt đầu năm học tiếp theo.
Câu hỏi thường gặp
>Câu hỏi về quan hệ đối tác với Scrimba
MDN biết các khóa học của Scrimba có chất lượng cao và tuân theo thực hành tốt nhất như thế nào?
Scrimba đã có danh tiếng tốt trước khi chúng tôi bắt đầu nói chuyện với họ về quan hệ đối tác. Tuy nhiên, chúng tôi không chỉ tin vào lời nói của cộng đồng. Chúng tôi đã thực hiện đánh giá toàn diện về Lộ trình sự nghiệp nhà phát triển Frontend (FDCP) của Scrimba và cung cấp cho họ phản hồi về các cải tiến có thể, tập trung vào việc tăng phạm vi các thực hành tốt nhất và tuân thủ các module Core của chúng tôi. Scrimba đã triển khai tất cả phản hồi của chúng tôi, và FDCP thậm chí còn tốt hơn trước. Bây giờ khi nó tuân theo Curriculum Core của chúng tôi, chúng tôi tin tưởng rằng nó phù hợp với các tiêu chuẩn MDN.
MDN có chia sẻ dữ liệu người dùng với Scrimba không?
Chúng tôi ưu tiên quyền riêng tư và tính minh bạch của người dùng. Thông tin duy nhất MDN chia sẻ với Scrimba là điều hướng của người dùng đến Scrimba từ MDN, và điều này xảy ra thông qua hành động của chính họ bằng cách nhấp vào một liên kết được đánh dấu là bên ngoài.
Trong các trường hợp chúng tôi nhúng nội dung Scrimba trên MDN, Scrimba sẽ không thấy dữ liệu người dùng cho đến khi người dùng chọn tương tác với nội dung của Scrimba.
Nội dung của Scrimba không miễn phí. Điều này có mâu thuẫn với triết lý của MDN về việc cung cấp nội dung miễn phí không?
Nhiều nội dung của Scrimba yêu cầu đăng ký trả phí, nhưng họ cũng cung cấp một số khóa học đầy đủ miễn phí sau khi đăng ký.
Cũng đáng lưu ý rằng các khóa học của Scrimba không cần thiết để sử dụng MDN Learn Web Development — chúng là phần bổ sung cho những ai muốn trả phí cho một khóa học có cấu trúc bao gồm curriculum core của chúng tôi. Bạn vẫn có thể học tất cả các mục tiêu học tập của chúng tôi miễn phí bằng cách đọc qua các bài viết của chúng tôi.
Có cấp chứng chỉ khi hoàn thành Lộ trình sự nghiệp nhà phát triển Frontend của Scrimba không?
Có, sau khi bạn hoàn thành tất cả các chủ đề trong Lộ trình sự nghiệp nhà phát triển Frontend, bạn có thể truy cập chứng chỉ hoàn thành để chia sẻ với nhà tuyển dụng tiềm năng hoặc bao gồm trong danh mục của bạn. Xem Tôi có thể tìm chứng chỉ hoàn thành của mình ở đâu? để biết thêm thông tin.