Học lập trình web cần học những gì

Nếu hiện tại đang muốn trở thành một nhà thiết kế website, bạn cần phải học những gì? Đó là câu hỏi mà bất kỳ ai mới bắt đầu tìm hiểu về lĩnh vực này đều muốn tìm kiếm cho mình một câu trả lời. Hãy để Thiết Kế Web Số giúp bạn tìm hiểu câu trả lời nhé!

Website đang ngày càng trở nên quen thuộc với tất cả chúng ta và việc ứng dụng website vào thực tế ngày càng nhiều. Điều này cũng đồng nghĩa với việc, lĩnh vực thiết kế web đang ngày càng trở nên phổ biến. Do đó, cơ hội nghề nghiệp thiết kế web cũng ngày càng cao và đem lại cho những ai muốn bắt đầu lĩnh vực này một nguồn thu nhập đáng mơ ước. Vậy để học thiết kế web, bạn sẽ cần phải học những gì?

Website là sự kết hợp giữa nghệ thuật thiết kế và tư duy lập trình. Đầu tiên bạn cần phải biết thiết kế giao diện website, sau đó chuyển giao diện này qua mã code. Tiếp đến, khi đã có giao diện bạn sẽ chuyển sang bước lập trình để nội dung website được cập nhật động qua phần quản trị website.

Vậy bạn đã hình dung được các kĩ năng cần phải học hay chưa? Thường để làm website thì chúng ta cần một team gồm thiết kế và lập trình. Nếu chỉ chuyên về lập trình thì bạn có thể lấy thiết kế hoặc giao diện đã được thiết kế sẵn, chính vì vậy mà chúng ta sẽ không bàn đến khâu thiết kế ở đây. Chúng ta sẽ đến với bước đầu tiên trong khâu lập trình. 

Ngôn ngữ lập trình website

Có quá nhiều ngôn ngữ lập trình website để bạn lựa chọn như PHP, Java, SQL, Python… Mỗi ngôn ngữ lập trình khác nhau sẽ có nhũng điểm mạnh khác nhau và được thiết kế với các mục đích khác nhau.

Nếu bạn mới bắt đầu học lập trình web, bạn nên học ngôn ngữ PHP vì nó rất dễ học, có tài liệu và hướng dẫn rất nhiều. Bên cạnh đó, bạn sẽ làm web nhanh và tiện hơn khi sử dụng Framework PHP.


Chuyển thiết kế thành mã HTML và CSS

Công đoạn này bạn sẽ dùng code HTML để tái hiện lại bản thiết kế web trên photoshop. Để làm được công đoạn này, bạn cần phải học ngôn ngữ lập trình HTML để viết bố cục cấu trúc website.

HTML chỉ là ngôn ngữ cấu trúc cho web, nó được ví giống như là một bộ khung xương. Còn CSS sẽ là da và bạn sẽ cần dùng ngôn ngữ CSS để bọc da vào cho nó. CSS giúp trình bày dữ liệu web được đẹp hơn với màu sắc, font chữ, bố cục, canh lề,... tất cả đều được làm bằng CSS.

Bên cạnh đó, bạn cũng sẽ cần học thêm ngôn ngữ JavaScript để thực hiện các hiệu ứng trên website từ chuyển động, bay nhảy và xử lý dữ liệu.

Xong công đoạn này chúng ta sẽ có được một website tĩnh, bởi vì bạn chưa đăng bài và cập nhật mới nội dung cho nó và nó không có trang quản trị nào. Chính vì vậy, chúng ta sẽ thổi linh hồn vào cho website, giúp nó có thể thay đổi nội dung, quản trị được trên đó thì chúng ta cần phải lập trình web.


Website là sự kết hợp giữa nghệ thuật thiết kế và tư duy lập trình. Vậy học thiết kế web cần những gì? Tất cả sẽ được giải đáp trong bài viết này.

Nếu bạn không muốn tốn nhiêu thời gian bạn nên tham khảo bài viết học thiết kế web như thế nào, Để rõ hơn, bài viết này sẽ chia sẻ cho bạn những cái cần phải học để lập trình được một website. Đó là sự kết hợp nghệ thuật thiết kế và tư duy lập trình.

Để mình nói sơ qua quy trình một website nhé. Đầu tiên sẽ là thiết kế trên photoshop giao diện website, sao đó chuyển giao diện này qua mã code. Khi có giao diện bây giờ tới bước lập trình để nội dung website được cập nhật động qua phần quản trị website.

Bạn đã hình dung được các kĩ năng cần phải học chưa? Thường để làm website thì chúng ta cần một team gồm thiết kế và lập trình. Nếu chỉ lập trình thì bạn có thể lấy thiết kế hoặc giao diện đã thiết kế sẵn. Khâu thiết kế sẽ không bàn chi tiết ở đây. Chúng ta đến với bước đầu tiên trong khâu lập trình.

Chuyển thiết kế thành mã HTML và CSS

Công đoạn này bạn sẽ dùng code Html để tái hiện lại bản thiết kế web trên photoshop. Bạn cần học ngôn ngữ HTML để viết bố cục cấu trúc website. Nó đại khái như thế này





       Hello World !

Html chỉ là ngôn ngữ cấu trúc cho web, nó như bộ khung xương. Bạn sẽ dùng ngôn ngữ CSS để bọc da vào cho nó, CSS giúp trình bày tài liệu web được đẹp hơn, màu sắc, font chữ, bố cục, canh lề, ... đều làm bằng CSS.

Các hiệu ứng trên website, chuyển động, bay nhảy, xử lý dữ liệu bạn cần học thêm ngôn ngữ JavaScript.

Xong công đoạn này chúng ta được một website tĩnh, bởi vì bạn chả đăng và cập nhật mới nội dung cho nó, nó không có trang quản trị.

Chúng ta sẽ thổi linh hồn cho website, giúp nó có thể thay đổi nội dung, quản trị được trên đó thì chúng ta phải lập trình website.

Ngôn ngữ lập trình website

Có quá nhiều ngôn ngữ lập trình website để bạn lựa chọn PHP, ASP.Net, Ruby On Rail, Python… mỗi ngôn ngữ có điểm mạnh riêng và được thiết kế với mục đích khác nhau.

Nếu là người mới lập trình web mình khuyên bạn nên học PHP vì ngôn ngữ này dễ học, tài liệu và hướng dẫn rất nhiều rất nhiều framework hỗ trợ bạn sẽ làm web nhanh và tiện hơn khi sử dụng Framework PHP.

Nếu bạn có nền tảng với các công nghệ của MicroSoft thì nên học ASP.Net, việc này giúp bạn tiết kiệm thời gian hơn vì phát triển từ nền tảng đã học.

Kết luận

Vậy để học lập trình website bạn sẽ phải học HTML, CSS, Javascript bạn phải rành 3 ngôn ngữ này và kết hợp với một ngôn ngữ lập trình động như PHP nữa.

Chúc các bạn thành công :]

☛ Nếu bạn có đam mê về lĩnh vực thiết kế & lập trình web hoặc bạn mong muốn có thể tự tay làm được 1 trang web riêng cho bản thân, hãy tham khảo các khoá học về thiết kế & lập trình web tại Đào Tạo Tin Học KEY, tham khảo tại các link sau:

Relationship Marketing là gì? Cách xây dựng...

Relationship Marketing là một khía cạnh của quản lý quan hệ khách hàng [CRM] tập trung vào lòng trung thành và sự gắn bó lâu dài của khách hàng hơn...

Chào các bạn,

Web là một trong những nền tảng thân thiện và dễ dàng tiếp cận người dùng bậc nhất hiện nay. Bởi một ứng dụng web không yêu cầu người dùng phải tốn thời gian tải về máy, mà chỉ cần bật trình duyệt lên, nhập vào địa chỉ của trang web là có thể sử dụng được ngay.

Vì tính tiện lợi, và cũng có phần đơn giản, nên các nhà sản xuất phần mềm luôn ưu tiên web là một nền tảng không thể thiếu cho sản phẩm của mình. Ví dụ như facebook, youtube, messenger, zalo,… ngoài sử dụng được trên nền tảng di động, thì cũng có thể hoạt động trên cả nền tảng web. Điều này còn khiến web còn trở thành một nền tảng phổ biến và được nhiều lập trình viên quan tâm.

Nếu bạn cũng đang quan tâm tới lập trình web và mong muốn trở thành một web developer nhưng lại không biết phải học những gì và từ đâu, thì hãy đọc bài chia sẻ này của mình nhé.

Thứ 1: Học HTML, CSS, JavaScript

Đây là bộ ba ngôn ngữ được sử dụng để xử lý dữ liệu ở máy khách [máy tính của người truy cập vào website], chịu trách nhiệm tạo nên bố cục, màu sắc, hiệu ứng trên website.

HTML: Hyper Text Markup Language – là một ngôn ngữ đánh dấu có nhiệm vụ xây dựng lên bộ xương của website. Các nội dung như văn bản, hình ảnh và bố cục của website được dựng lên đều nhờ tới HTML. Mình đánh giá HTML không khó học, chỉ cần 1 2 buổi vừa học vừa thực hành là bạn có thể làm được HTML rồi.

CSS: Cascading Style Sheets là một ngôn ngữ định dạng có nhiệm vụ trang điểm cho website. Bằng cách làm cho trang web có màu sắc, bố cục hài hòa mà CSS khiến website của chúng ta trở nên đẹp hơn. Một website đẹp khi mà CSS của nó đẹp. Mình đánh giá CSS khó hơn HTML do CSS yêu cầu người làm phải có mắt thẩm mỹ, hơn nữa bạn không thể học CSS khi mà chưa biết HTML. Kiến thức về CSS khá rộng, nhưng bạn không cần phải nhớ hết tất cả, chỉ cần nhớ một vài thuộc tính cơ bản như color, background, font-style, font-weight, font-family, text-decoration, border, padding, margin, position là đủ dùng rồi, sau này động đến các khái niệm khác thì mình tìm hiểu sau.

JavaScript: JavaScript là một ngôn ngữ lập trình có nhiệm vụ làm cho trang web trở nên sống động hơn. Ví dụ gần gũi nhất là khi bạn vào facebook mà mạng lag thì bạn sẽ nhìn thấy các biểu tượng loading, hoặc khi bạn comment “Chúc mừng” thì có pháo hoa bắn lên. Những cái đó làm được là nhờ có JavaScript. Mình đánh giá JavaScript khó học hơn hẳn CSS với HTML, bởi bạn chỉ nên học JavaScript khi đã rành HTML và CSS. Mặc khác JavaScript là một ngôn ngữ lập trình nên ngoài việc bạn hiểu về cú pháp của JavaScript ra thì còn đòi hỏi bạn phải có tư duy lập trình nữa. Tuy nhiên nếu bạn từng biết một ngôn ngữ lập trình nào trước đó rồi, thì học JavaScript lại rất dễ dàng.

Thứ 2: Học một ngôn ngữ lập trình phía Server

HTML, CSS, JavaScript mà mình chỉ ra ở bước 1 chỉ làm nhiệm vụ xử lý dữ liệu phía máy khách [phía client]. Tuy nhiên dữ liệu do máy khách xử lý thì lại được lấy từ phía máy chủ [phía server]. Vì vậy ở phía máy chủ chúng ta cũng cần phải có một ngôn ngữ lập trình để xử lý trước khi trả dữ liệu về cho máy khách.

Khác với HTML, CSS, JavaScript bạn phải học cả ba ngôn ngữ, thì với ngôn ngữ phía máy chủ bạn chỉ cần học một là đủ. Hiện nay có nhiều có rất nhiều cái tên nổi lên với mỗi loại lại có ưu nhược điểm riêng, nhưng mình sẽ gợi ý tới bạn 3 ngôn ngữ lập trình phía máy chủ được nhiều web developer sử dụng nhất nhé:

1. PHP

PHP logo

Là ngôn ngữ được nhiều web developer sử dụng nhất bởi nó cực kỳ dễ học. Cộng với việc đã ra đời đã khá lâu nên PHP có một cộng đồng người sử dụng rất lớn, nhiều tài liệu phong phú, nhiều khóa học chi tiết. Bản thân mình hiện tại cũng sử dụng PHP là chủ yếu.

PHP có ưu điểm là miễn phí, có nhiều nền tảng, cms mạnh mẽ và tối ưu để phát triển web. PHP cũng hỗ trợ cả lập trình hướng đối tượng. Nhưng nhược điểm của PHP là khá chậm chạp, không phù hợp với các dự án phải xử lý nhiều dữ liệu.

Mình đánh giá trong năm 2019 thì PHP vẫn là ngôn ngữ rất đáng để học, và cũng không phải ngẫu nhiên khi mình xếp PHP ở vị trí số 1 nhé.

  • Trang chủ: php.net
  • Framework nổi tiếng: Laravel, CodeIgniter, Symfony

2. NodeJs

NodeJs logo

Khác với PHP, NodeJs là một nền tảng [platform] chứ không phải ngôn ngữ lập trình. Để học NodeJs bạn cần phải biết JavaScript, trong khi đó JavaScript là ngôn ngữ lập trình mà bạn đã học được ở bước 1. Đây cũng chính là điểm mạnh của NodeJs, nó khiến cho các web developer chỉ cần học một lần JavaScript những có thể viết được ở cả phía server và client.

Ngoài điểm mạnh kể trên thì NodeJs còn cho tốc độ thực thi rất nhanh, nhanh hơn nhiều so với PHP. NodeJs cũng hỗ trợ tốt socket nên phù hợp để triển khai các ứng dụng thời gian thực như gửi thông báo, chat,… cái mà PHP hỗ trợ rất kém.

Điểm yếu của NodeJs là còn khá mới mẻ [ra mắt vào năm 2009] nên bạn sẽ không tìm thấy nhiều tài liệu về nó. Framework dựa trên NodeJs cũng còn đơn sơ. Vì vậy mà bắt đầu một dự án với NodeJs thường khó khắn hơn bắt đầu một dự án với PHP. Cá nhân mình đánh giá NodeJs không phù hợp với các bạn mới bắt đầu.

Bạn có thể thấy rằng điểm yếu của NodeJs chủ yếu tới từ cộng động người sử dụng, chứ bản thân nó thì mình không chê điểm nào. Nên có khả năng NodeJs sẽ trở thành xu hướng trong tương lai đấy.

  • Trang chủ: nodejs.org
  • Framework nổi tiếng: ExpressJs.com

3. Java

Java logo

Java vốn nổi tiếng là ngôn ngữ lập trình có thể “viết một lần, chạy mọi nơi” – tức là có thể chạy trên mọi nền tảng. Java có thể sử dụng để lập trình web, lập trình ứng dụng desktop, lập trình ứng dụng mobile [android] điều này khiến Java trở thành một trong những ngôn ngữ lập trình được yêu thích nhất trên thế giới.

Điểm mạnh của Java là có nhiều công cụ tiện lợi giúp lập trình viên có thể tiết kiệm thời gian trong việc code, debug, tích hợp các thư viện thứ 3,… Các framework phát triển web bằng Java cũng khá tiện lợi và đẩy đủ, tốc độ thực thi cũng nhanh. Developer Java cũng dễ dàng chuyển qua chuyển chuyển lại giữa các dự án web – mobile – desktop mà không cảm thấy nhiều khó khăn do Java hỗ trợ tao ra ứng dụng trên nhiều nền tảng các nhau.

Điểm yếu của Java là cú pháp rất dài dòng, lập trình với Java cũng khiến bạn bị phụ thuộc nhiều vào công cụ chứ không được tự do như làm việc với NodeJs hay PHP. Các dự án web được viết bằng Java đa phần đều là các dự án cũ, chứ hiện nay rất ít công ty bắt đầu một dự án web mới mà sử dụng Java.

Cá nhân mình đánh giá hiện nay không nên sử dụng Java để phát triển web, bởi bên cạnh Java có quá nhiều sự lựa chọn khác tốt hơn. Nhưng mình vẫn liệt kê vào bài viết này do Java từng thống trị thế giới một thời gian, nên hiện tại vẫn có rất nhiều các dự án web viết bằng Java cần được phải bảo trì, vì vậy bạn nào mà có học Java để làm web thì cũng đừng có lo nhé.

  • Trang chủ: java.com
  • Framework nổi tiếng: JSF, Struts, Hibernate, Spring MVC

Thứ 3: Học một loại cơ sở dữ liệu

Một website muốn hoạt động được thì chỉ có code thôi là không đủ, mà cần phải có khả năng lưu trữ dữ liệu nữa. Ví dụ bạn đăng ký tài khoản trên facebook, thì thông tin về tài khoản của bạn cần phải được lưu ở đâu đó. Thì cái chỗ lưu trữ đấy chính là cơ sở dữ liệu [CSDL].

CSDL được chia làm 2 loại là CSDL có cấu trúc [SQL] và CSDL phi cấu trúc [NoSQL]. Đại diện cho hai loại CSDL này là MySQL và MongoDB.

1. MySQL

Mysql logo

MySQL thuộc nhóm CSDL có cấu trúc. Đây được coi là CSDL phổ biến nhất trên thế giới và được rất nhiều các developer yêu thích sử dụng bởi nó miễn phí nhưng chất lượng.

Điểm mạnh của MySQL là dễ học, dễ hiểu, mạnh mẽ trong việc trích xuất dữ liệu.

Điểm yếu của MySQL là đòi hỏi cấu trúc lưu trữ phải rõ ràng, không phù hợp sử dụng cho các dự án thường xuyên thay đổi cấu trúc dữ liệu.

Cá nhân mình đánh giá, MySql phù hợp với những bạn mới bắt đầu tìm hiểu về CSDL.

Trang chủ: mysql.com

2. MongoDB

MongoDB logo

MongoDB là thuộc nhóm CSDL phi cấu trúc. Vì phi cấu trúc nên MongoDB có thể lưu trữ dữ liệu rất linh hoạt, đồng thời cũng để sử dụng để lưu trữ dữ liệu lớn. Tuy nhiên chính điểm mạnh này cũng là điểm yếu của MongoDB, vì có khả năng lưu trữ không theo cấu trúc, nên MongoDB không đảm bảo được tính toàn vẹn của dữ liệu. Vì nhược điểm này nên MongoDB không nên sử dụng với các dự án khắt khe về độ chính xác của dữ liệu như hệ thống ngân hàng.

Cá nhân mình đánh giá MongoDB hơi khó tiếp cận đối với những bạn mới bắt đầu. Do các developer thường sử dụng MongoDB trong các dự án có tính đặc thù cao, còn các dự án phổ thông thì ít dùng hoặc gần như không dùng.

Trang chủ: mongodb.com

Kết luận

Kết thúc phần 1 này mình đã giới thiệu tới bạn 3 thành phần kiến thức mà bạn không thể thiếu nếu muốn trở thành một web developer, bao gồm:

  • Ngôn ngữ client: HTML, CSS, JS
  • Ngôn ngữ server: PHP, NodeJs, Java
  • CSDL: MySQL, MongoDB

Ba loại kiến thức trên nếu học nghiêm chỉnh thì cũng sẽ tốn kha khá thời gian của bạn đấy. Với kinh nghiệm bản thân đã trải qua thì mình ước lượng thời gian một người từ chưa biết gì cho tới lúc vận dụng được sẽ mất khoảng 6 tháng. Vì vậy bạn nào ôm mộng trở thành lập trình viên chỉ sau một khóa học 2 3 tuần thì chắc chắn là không thể nha. Còn bạn nào đang học được 1, 2 tháng mà thấy chưa hiểu gì hoặc thấy khó quá thì cũng là chuyện bình thường, bởi mọi thứ chỉ mới bắt đầu thôi, đừng vội nản.

Riêng ngôn ngữ client thì bạn bắt buộc phải học cả 3 [HTML, CSS, JS]. Còn ngôn ngữ server và CSDL thì trong mỗi thành phần bản chỉ cần chọn ra một cái học là được rồi [những cái khác học sau]. Thông thường các developer sẽ học theo các bộ như sau:

  1. PHP – MySQL [phù hợp với người mới bắt đầu].
  2. NodeJS – MongoDB
  3. Java – MySQL
  4. Java – MongoDB

Nếu bạn có thể học được 1 trong 4 bộ mình kể trên thì bạn có thể tự tin đi apply các vị trí web developer rồi. Có thể lương hơi thấp chút nhưng với lượng kiến thức như vậy là đủ để làm việc.

Hẹn gặp lại các bạn ở phần tiếp theo nhé.

[*] cms: Content Manager System – Hệ thống quản trị nội dung. Là những hệ thống được xây dựng sẵn, thường có tính tùy biến cao, sử dụng để quản lý một loại nội dung nào đấy như blog tin tức, website bán hàng,…

[*] framework: Là nền tảng để phát triển, trong bài viết này framework là những nền tảng để phát triển website. Framework thường dựng sẵn những thành phần, thư viện cơ bản mà bất kỳ dự án website nào cũng cần có như kết nối tới CSDL, xác thực tài khoản, phân trang, xử lý các request,…

[*] platform: Dịch ra Tiếng Việt thì cũng là nền tảng, nhưng platform mang ý nghĩa là nền tảng thấp hơn framework, nó giống như môi trường để cho framework có thể chạy vậy. Ví dụ như như ExpressJs là một framework của NodeJs platform.

[*] socket: Socket hay Websocket là một giao thức sử dụng để trao đổi dữ liệu giữa 2 máy tính, có đặc điểm là dữ liệu có thể trao đổi qua lại liên tục nên phù hợp để thực hiện các tính năng thời gian thực trong các game online, ứng dụng dụng gửi thông báo, ứng dụng nhắn tin.

Video liên quan

Chủ Đề