LẬP TRÌNH WEBSITE LÀ GÌ? CÁCH HỌC LẬP TRÌNH WEB CƠ BẢN

Ngày đăng: Thứ Năm, 17/10/2019

Nhiều câu hỏi được đặt ra dành cho các bạn mới lần đầu bước chân vào thế giới lập trình website, một số câu hỏi phổ biến có thể đề cập đến là :

• Lập trình web là gì? • Cách học lập trình web cơ bản?

Và để giải phóng các bạn khỏi những mớ câu hỏi trên, bài viết hôm nay chúng tôi sẽ giải đáp câu trả lời để các bạn có thể hình dung tổng quan hơn về những bước cần thực hiện khi tiếp cận lĩnh vực lập trình web.

Lập trình web là gì?

Lập trình web là công việc có nhiệm vụ nhận toàn bộ dữ liệu từ bộ phận thiết kế web để chuyển thành một hệ thống website hoàn chỉnh có tương tác với CSDL và tương tác với người dùng dựa trên ngôn ngữ máy tính. Sau khi xây dựng trang web xong thì có thể lập trình viên sẽ được phân công quản trị website, khi đó bạn cần trang bị thêm một vài công cụ quản trị web, nhằm giúp cho việc quản trị trở nên dễ dàng hơn. Các công cụ đó sẽ hỗ trợ bạn kiểm tra những lần uptime, downtime, tỷ lệ thoát trang web, nguồn traffic đổ vào website, hoặc tình trạng quá tải băng thông,... Nhưng đó sẽ là những công việc sau này, bạn có thể vừa học cách lập trình web cơ bản, đồng thời bổ sung kiến thức quản trị web vào thời gian rãnh rỗi.

Cách học lập trình web cơ bản

Kiến thức lập trình khá dễ tiếp thu, không quá khó khăn như mọi người đã nghĩ. Ngoài những kiến thức chuyên ngành lập trình thì bạn cần bổ sung thêm các kiến thức liên quan đến thiết kế website như CSS, HTML, hoặc các phiên bản nâng cấp của css và html và html5 và css3 giúp tối ưu hóa trong thiết kế website... và các kiến thức đồ họa như Photoshop, Flash... Tất cả những kiến thức này đều sẽ liên quan mật thiết và ảnh hưởng mạnh đến tiến độ công việc của bạn. Và để học lập trình thì hiển nhiên bạn phải tiếp xúc với các dòng ngôn ngữ lập trình. 

Một website có thể rất đơn giản như một trang web tĩnh hay phức tạp như các ứng dụng web ngày nay. Nếu bạn có thể xem một thứ gì đó trong một trang web trên trình duyệt của bạn, thứ đó chắc chắn liên quan tới lập trình web.

Dưới đây là một giải thích đơn giản cách các websites hoạt động:

  1. Websites về bản chất chỉ là tập hợp các file được lưu trữ trên các máy tính gọi là máy chủ.
  2. Server / Máy chủ là các máy tính dùng để “host” website, nôm na là lưu trữ các file của websites. Các server được kết nối trong mạng lưới khổng lồ World Wide Web hay còn gọi là Internet.
  3. Browsers/Trình duyệt là các phần mềm chạy trên máy tính của bạn. Chúng tải các file của websites qua kết nối internet. Máy tính của bạn được coi như một client và được kết nối tới server


3 Thành phần tạo nên mọi website


Như đã nói ở trên, websites là tập hợp các files, chủ yếu là các file HTML, CSS, Javascript. Hãy cùng tìm hiểu chi tiết từng thứ nhé.

HTML hay HyperTextMarkup Language


HTML là nền tảng của mọi website. Nó là một file quan trọng được tải xuống bằng trình duyệt của bạn khi bạn truy cập một trang web.

Bạn hoàn toàn có thể tự tạo một website rất rất đơn giản chỉ với HTML mà không cần tới bất kì files nào khác. Nó sẽ khá nhạt nhẽo nhưng HTML là thứ tối thiểu bạn cần để một website có thể được gọi là một website.

(nếu bạn hứng thú với các kiến thức cơ bản của HTML, bạn có thể đọc qua bài blog/video hướng dẫn này)

CSS hay Cascading Style Sheets


Nếu không có CSS, website của bạn sẽ nhạt nhẽo như một văn bản được soạn thảo bằng Word vậy.

Với CSS, bạn có thể thêm màu, chỉnh phông chữ và sắp xếp lại bố cục trang web theo ý thích của bạn. Thậm chí bạn còn có thể thêm các hiệu ứng chuyển động nếu sử dụng các kĩ thuật CSS nâng cao.

Javascript


Javascript là ngôn ngữ lập trình cho phép bạn tương tác với các thành phần trên website và thay đổi chúng.

Nếu CSS trang trí cho HTML thì Javascript thêm tương tác và khiến trang web của bạn sinh động hơn.

Bạn có thể sử dụng Javascript để cuộn lên đầu trang khi click vào một button, hay làm một slideshow ảnh có các button điều hướng qua lại để xem hình ảnh.

Để làm việc với HTML, CSS và Javascript, bạn cần dùng một phần mềm khác là trình soạn thảo .

Trình soạn thảo nào bạn nên dùng?


Đây là một câu hỏi rất phổ biến, đặc biệt là với những bạn mới bắt đầu học lập trình. Câu trả lời là trình soạn thảo phù hợp nhất với bạn sẽ phụ thuộc nhiều vào ngôn ngữ bạn lựa chọn để lập trình.

Nếu bạn làm việc chủ yếu với HTML, CSS, Javascript, bạn hoàn toàn có thể lập trình bằng Windows Notepad hay TextEdit trên Mac nếu bạn muốn. Nhưng như thế thì có vẻ không chuyên nghiệp lắm.

Các trình soạn thảo như Sublime hay VS Code có rất nhiều tính năng giúp công việc lập trình của bạn dễ dàng hơn. Chúng cho phép bạn căn lề nhiều dòng, highlight các dòng code theo ngôn ngữ lập trình phù hợp.

Đối với các ngôn ngữ back-end (chúng ta sẽ tìm hiểu sâu hơn ở phần sau), bạn sẽ cần các trình soạn thảo mạnh mẽ hơn gọi là IDE(môi trường phát triển tích hợp). IDE giúp bạn debug và compile đoạn code ngay trong trình soạn thảo.

Dưới đây là vài trình soạn thảo phổ biến:

VS Code: Phiên bản nhẹ hơn của Visual Studio, một IDE của Microsoft. VS Code mới ra đời cách đây vài năm nhưng nó đã trở nên phổ biến vì tốc độ nhanh, dễ sử dụng, các tính năng mạnh mẽ. VS Code là lựa chọn ưa thích của tôi nên có lẽ tôi hơi thiên vị một chút khi nói đến trình soạn thảo này.

Atom: tạo ra bởi GitHub và được quảng cáo là trình soạn thảo có thể “hackable”. Atom là một trình soạn thảo khá được yêu mến. Một trong những điểm mạnh của nó là khả năng tùy biến. Bạn có thể cài các packages và giao diện cho phép bạn thêm các tính năng vào trình soạn thảo.

Sublime: Một trình soạn thảo siêu nổi tiếng có tuổi đời lớn hơn so với VS Code hay Atom. Giống như Atom, bạn có thể cài các packages và giao diện. Sublime cũng có tốc độ rất nhanh. Khác với hai trình soạn thảo trên, bạn phải bỏ ra 70 đô để mua bản quyền Sublime nhưng có thể thử nó miễn phí.

Tôi khuyên bạn nên dùng thử một vài trình soạn thảo trước rồi hẵng chọn ra trình soạn thảo phù hợp nhất với mình. Sau đó hãy gắn bó với nó và học cách sử dụng các phím tắt cũng như tính năng thành thạo.

Version control – Quản lý phiên bản


Sau khi chọn được trình soạn thảo phù hợp, bạn bắt đầu viết code.

Tuy nhiên bạn lại vô tình gây ra lỗi trong những dòng code của mình, và mặc cho việc bạn có Ctrl-Z bao nhiêu lần thì code bạn vẫn lỗi, bạn sẽ làm gì trong trường hợp này?

Câu trả lời là hãy sử dụng version control!

Version control giống như việc bạn có các save points (bạn nhớ khi chơi game thường hay có các mốc mà khi nhân vật của bạn chết, bạn có thể chơi lại game từ mốc đó mà không phải bắt đầu lại từ đầu chứ? Nó chính là save points!) trong file code của bạn vậy.

Nếu bạn nghĩ việc bạn sắp làm có thể làm hỏng mọi thứ trong file code của bạn, bạn có thể tạo một save point mới (gọi là commit). Sau đó nếu bạn có lỡ làm hỏng trang web, bạn có thể khiến code của bạn trở lại trạng thái cũ trước khi chưa bị hỏng bằng version control.

Version control là một chiếc phao cứu sinh tuyệt vời nếu bạn có lỡ gây ra lỗi và muốn quay về trạng thái ban đầu.

Nhưng nó hoạt động thế nào vậy?

Sử dụng một hệ thống quản lý phiên bản (VCS) tức là bạn đã lưu trữ các file code và toàn bộ lịch sử thay đổi của chúng trong một kho lưu trữ gọi là repository.

Thông thường bạn sẽ sử dụng một repository cho mỗi một website hay project

Sau đó bạn lưu trữ repository của mình trực tuyến ở một chỗ gọi là central repository (kho lưu trữ trung tâm), đồng thời giữ một phiên bản của nó ở trong máy tính của bạn trong local repository. Bất cứ khi nào bạn thay đổi thứ gì đó trong các file code trên máy tính của bạn, bạn có thể tạo một commit và đẩy nó lên central repository.

Tiến trình này giúp nhiều người có thể cùng làm việc trên một file code và thay đổi nhiều files đồng thời.

Git là hệ thống quản lý phiên bản phổ biến nhất hiện nay

Hệ thống quản lý phiên bản chủ chốt hiện nay là Git. Một đối thủ của nó là Subversion, một hệ thống cũ hơn. Nhưng đa số các bài hướng dẫn và các trại code ngày nay đều sử dụng Git, do đó tôi khuyên bạn hãy học cách sử dụng nó.

Tài liệu tham khảo

Bây giờ chúng ta sẽ đi sâu vào các ngôn ngữ và frameworks được sử dụng, và để bắt đầu hãy cùng đi qua hai thuật ngữ phổ biến: front-end và back-end

Frontend là tất cả những gì bạn nhìn thấy trên một trang web


Front-end (hay còn gọi là phía client) là tất cả những gì được tải xuống trên trình duyệt của người dùng (client). Nó có thể là HTML và CSS, thứ chúng ta đã nhắc tới phía trên. Ban đầu Javascript cũng chỉ được dùng như một ngôn ngữ front-end nhưng ngày nay bạn cũng có thể sử dụng nó cho cả back-end.

Front-end quyết định website của bạn sẽ đẹp long lanh hay xấu đau xấu đớn .

Hay nói cách khác, nó liên quan tới việc website của bạn hoạt động có phù hợp với người dùng không (thứ này gọi là UX – User Experience, tức trải nghiệm người dùng).

Nếu bạn hứng thú với việc thay đổi CSS để đảm bảo trang web của bạn hoàn hảo tới từng pixel, hay việc thêm các hiệu ứng bằng Javascript cũng làm bạn ngồi lì trước máy tính cả ngày, bạn có thể sẽ đam mê theo đuổi mảng lập trình front-end đấy.

Còn backend đảm bảo mọi thứ trên website của bạn hoạt động ổn định – nó là tất cả các tính năng của một trang web.

 

Trong khi front-end là ngoại hình của trang web thì backend là thứ đứng phía sau đảm bảo website của bạn hoạt động với đầy đủ các tính năng hữu ích.

Nếu bạn đang làm lập trình back-end, bạn hẳn đã phải làm những công việc liên quan tới xử lý các yêu cầu tới server và cơ sở dữ liệu.

Một số ví dụ về các công việc của backend có thể là việc lưu trữ dữ liệu khi người dùng điền form trên trang liên hệ, hay việc lấy dữ liệu để hiển thị các bài viết theo một danh mục cụ thể mà người dùng yêu cầu. Công việc của back-end cũng có thể bao gồm cả cài đặt website trên server, xử lý vấn đề deploy/triển khai trang web trên server và cài đặt cơ sở dữ liệu SQL.

Nếu bạn thấy việc triển khai các thành phần chức năng của một trang web thú vị, bạn hoàn toàn phù hợp với mảng back-end.

Ghép chúng lại nào


Cái tên front-end và back-end bắt nguồn từ việc front-end là những thứ bạn nhìn thấy trong trình duyệt và back-end là những thứ bạn không nhìn thấy nhưng chúng giúp xử lý các tác vụ trong trang web và đảm bảo phần front-end hoạt động ổn định.

Bạn có thể coi front-end là cửa hiệu của một tập đoàn, thứ mà khách hàng thường nhìn thấy và sử dụng. Back-end là các trung tâm chế tạo và phân phối giúp cửa hiệu hoạt động hiệu quả.

Trong lập trình web cả front-end và back-end đều quan trọng như nhau.

Front end, back end, hay full stack?


Trong lập trình web, bạn có thể chỉ cần tập trung vào mỗi front-end hay back-end. Hoặc bạn có thể làm cả hai, công việc này được gọi là lập trình full stack.

Thứ bạn chọn sẽ phụ thuộc chủ yếu vào hai điều sau:

  • Sở thích cá nhân của bạn: không phải ai cũng thích cả front và back end
  • Công việc: hãy tham khảo danh sách công việc tại địa phương bạn và tham gia vào các buổi gặp mặt lập trình viên để có cái nhìn chung về các lĩnh vực nghề nghiệp.

Lưu ý là nếu bạn đam mê cả front end và back end, trở thành một lập trình viên full stack sẽ giúp bạn có nhiều cơ hội nghề nghiệp hơn. Cũng có lý thôi, càng nhiều công nghệ bạn biết thì bạn càng dễ kiếm việc.

Stack Overflow đã báo cáo rằng trong bản thống kê người dùng năm 2017 của họ, có 63.7% lập trình viên full stack, 24.4% lập trình viên back end, còn 11.9% là lập trình viên front end.

Tuy nhiên điều này cũng phụ thuộc nhiều vào các công ty. Một số công ty tận dụng các lập trình viên full stack, một số lại chia ra thành back và front end. Số khác thậm chí chia các lập trình viên front-end của họ sang mảng thiết kế. Các lập trình viên này sẽ tự thiết kế và xây dựng phần front-end cho ứng dụng.

 

Sưu tầm

CÁC TIN TỨC, SỰ KIỆN KHÁC


TỔNG HỢP 10 CUỐN SÁCH ĐÁNG ĐỌC VỀ DATABASE
Tổng hợp 10 cuốn sách đáng đọc về Database
Thứ Hai, 11/11/2019 bởi Nguồn Techtalk

Tổng hợp 10 cuốn sách đáng đọc về Database


TẠI SAO NÊN SỬ DỤNG PYTHON CHO AI VÀ MACHINE LEARNING?
TẠI SAO nên sử dụng PYTHON cho AI và Machine Learning?
Thứ Bảy, 09/11/2019 bởi Sưu tầm

Điều đầu tiên bạn nên ghi nhớ là các dự án về AI khác với các dự án phần mềm truyền thống.


BEN PASTERNAK: NGƯỜI ĐƯỢC MỆNH DANH LÀ “MARK ZUCKERBERG THỨ HAI” LÀ AI THẾ?
Ben Pasternak: Người được mệnh danh là “Mark Zuckerberg thứ hai” là ai thế?
Thứ Sáu, 08/11/2019 bởi Theo Trí Thức Trẻ

Người được mệnh danh là “Mark Zuckerberg thứ hai” với tài năng công nghệ và danh tiếng khởi nghiệp từ bé. Bạn có biết không?


ĐỔI NGHỀ, KHÔNG BAO GIỜ LÀ QUÁ MUỘN ĐỂ SỐNG VỚI ĐAM MÊ.
Đổi nghề, không bao giờ là quá muộn để sống với đam mê.
Thứ Năm, 31/10/2019 bởi Aptech Đà Nẵng

Chị Trần  Thị Lan Phương – Hiện đang làm Dev tại Công ty TMA Solutions  đã chia sẽ câu chuyện đổi nghề của chính mình. Câu chuyện của chị  phần nào chứng minh sự quyết định đúng đắn khi thay đổi mang lại sự thành công và chị tìm được một công việc mà mình yêu thích.


PHÂN BIỆT LẬP TRÌNH VIÊN JUNIOR, MID-LEVEL VÀ SENIOR
Phân biệt lập trình viên Junior, Mid-Level và Senior
Thứ Hai, 28/10/2019 bởi Nguồn: viblo\Chu Thanh Hung

Trình độ của lập trình viên hiện nay thường được phân biệt dựa trên ba cấp độ: Junior (Sơ cấp), Mid-Level (Trung cấp) và Senior (Cao cấp). Nếu như đi học ở trường thường có thể phân loại học sinh dựa trên số năm học thì lập trình viên dùng kỹ năng để phân loại.


MỘT SỐ TOOL HỮU ÍCH DÀNH CHO WEB DEVELOPER CÓ THỂ BẠN CHƯA BIẾT
Một số tool hữu ích dành cho web developer có thể bạn chưa biết
Thứ Sáu, 18/10/2019 bởi Nguồn: Topdev

Ngày nay lĩnh vực công nghệ phát triển một cách vượt bậc, bên cạnh đó sự trải nghiệm người dùng cũng được theo đó mà tăng lên đáng kể. Đằng sau những giao diện bắt mắt là những ý tưởng mới mẻ, tốn rất nhiều công sức của Developer. Dưới đây mình tổng hợp một số công cụ hữu ích cho một lập trình viên web được chọn lọc qua nhiều nguồn khác nhau.

XEM THÊM


KẾT NỐI VỚI CHÚNG TÔI