NỘI DUNG BÀI VIẾT
Trong bài viết này chúng ta sẽ tìm hiểu: “Tại sao JavaScript là ngôn ngữ lập trình đầu tiên nên học?”.
Hãy cho tôi biết, tại sao phần lớn những người quyết định tham gia phòng tập thể dục vào tháng Giêng không thể tiếp tục cho đến tháng Ba?
Bởi vì họ đã đi quá khó ngay từ ngày đầu tiên.
Tương tự, khi học lập trình lần đầu tiên, nếu bạn tiếp xúc với rất nhiều khái niệm lý thuyết mới trước khi bạn viết mã đầu tiên của mình, thì bạn sẽ tự động mất hứng thú trong vòng vài ngày.
Có hai yếu tố chính để học bất kỳ kỹ năng mới nào:
- Rào cản gia nhập thấp
- Phản hồi tức thì
JavaScript có cả hai. Nó rất dễ bắt đầu và bạn có thể thấy kết quả hiển thị với số lượng mã tối thiểu so với các ngôn ngữ khác.
Nhưng tôi không biết HTML và CSS
Có, bạn cũng sẽ phải học HTML và CSS, vì đó là cách bạn hiển thị mọi thứ. JavaScript chạy phía sau và tương tác với HTML và CSS để thực hiện các thay đổi trên màn hình.
Bạn sẽ phải viết mã GUI (Giao diện người dùng đồ họa) bằng HTML và CSS.
Tuy nhiên, thực hiện GUI bằng các ngôn ngữ khác phức tạp hơn nhiều so với thực hiện trong HTML và CSS. Ví dụ: hãy tạo một hộp vuông bằng HTML:
<div style = "width: 100px; height: 100px; background-color: red; border: 1px solid gray;">
</div>
Code language: HTML, XML (xml)
Điều này tạo ra một hộp 100×100 px, với nền màu đỏ và đường viền màu xám đặc 1px. Và “div” là viết tắt của sự phân chia. Bất cứ điều gì bạn không đạt được ở đó?
Thật dễ dàng, phải không?
Để tạo cùng một hộp này bằng bất kỳ ngôn ngữ nào khác, trước tiên bạn phải nhập một số thư viện GUI, sau đó tạo một cửa sổ, sau đó xử lý cửa sổ đó, rồi bạn viết mã hộp trên cửa sổ đó.
Ba bước bổ sung đầu tiên đó có thể dễ dàng khiến bạn nản lòng và phá hủy sở thích viết mã của bạn.
Khi học một kỹ năng mới hoặc trau dồi một thói quen mới, rào cản gia nhập thấp là rất quan trọng để duy trì tính nhất quán.
Tôi rất ghét khi phải giải thích 13 khái niệm phức tạp cho học sinh trước khi dạy chúng in dòng chữ “Hi!” trong GUI.
Nhưng tại sao tôi lại đặt nặng GUI? Bởi vì kết quả GUI cảm thấy rõ ràng hơn.
Tạo một máy tính để thêm các số trong bảng điều khiển màu đen và trắng thực sự là một công việc nhàm chán đối với người mới bắt đầu. Di chuyển các hộp trên màn hình khi chúng ta nhấp vào nó cảm thấy tuyệt vời. Nó khuyến khích những người mới bắt đầu học nhiều hơn, thay vì bỏ cuộc sớm.
Được rồi, quay lại câu hỏi của chúng tôi:
Bạn sẽ cần học HTML và CSS để học JavaScript?
Vâng.
Và đó không phải là một bất lợi, nó thực sự là một lợi thế.
Bạn nên tạo GUI bằng HTML và CSS, theo cách đó bạn học thêm được hai công nghệ có thể áp dụng cho web và thiết bị di động.
Trên thực tế, HTML và CSS rất tốt và dễ dàng để tạo GUI, đến nỗi nhiều ngôn ngữ khác đang bắt đầu áp dụng nó như cách tạo GUI của họ.
Vì vậy, học HTML và CSS không chỉ dễ dàng so với học GUI bằng các ngôn ngữ khác mà nó còn hữu ích hơn.
Những điều cần tránh khi học JavaScript
Khi tôi nói JavaScript nên là ngôn ngữ lập trình đầu tiên của bạn, ý tôi là JavaScript đơn giản hoạt động trong trình duyệt của bạn.
Không có Nodejs, không có React, không có TypeScript, không có jQuery – chỉ có JavaScript đơn thuần.
Ngoài ra, nhiều tính năng mới được giới thiệu cho JavaScript hàng năm. Nếu bạn không thể quyết định xem mình có nên học nó hay không, thì đây là một phím tắt dành cho bạn: nếu trình duyệt của bạn không hỗ trợ, đừng đi sâu vào nó. Giai đoạn = Stage.
Tôi muốn lặp lại một điều cụ thể – không có jQuery.
Tôi đã bắt đầu cuộc hành trình của mình với JavaScript với jQuery, giống như nhiều người mới bắt đầu tự học làm, và tôi rất tiếc. Tôi ước mình sẽ đầu tư thêm một chút công sức vào việc học JavaScript đơn giản trước.
Nền tảng ngắn gọn về JavaScript và nơi nó hướng tới
Tôi tin rằng trước khi học một ngôn ngữ, bạn phải biết tại sao nó tồn tại ngay từ đầu, và nó sẽ đi đến đâu.
Vì vậy, đây là một hành trình ngắn của JavaScript.
Khi các trình duyệt Web sớm nhất được phát hành, mọi người sớm nhận ra rằng họ cần một ngôn ngữ kịch bản để làm cho các trang web tương tác hơn. Các nhà phát triển web rất muốn có những chức năng này:
- Xử lý logic: HTML và CSS chỉ xác định giao diện của một trang web, chúng không xử lý bất kỳ logic nào. Ví dụ sử dụng: Để hiển thị thông báo lỗi nếu người dùng quên điền vào trường bắt buộc trong biểu mẫu. Ở đây chúng ta cần xử lý logic kiểm tra xem một trường có phải là bắt buộc hay không và được để trống.
- Xử lý dữ liệu: Trước JavaScript, bạn phải gửi dữ liệu đến máy chủ, sau đó xử lý trong máy chủ, rồi gửi lại, vì không có cách nào để xử lý dữ liệu bên trong trình duyệt. Ví dụ sử dụng: Hiển thị bản xem trước của một bài đăng trước khi lưu nó. Ở đây, chúng ta cần cập nhật bản xem trước với dữ liệu người dùng đã nhập mà không cần gửi đến máy chủ.
- Thao tác HTML & CSS: Các nhà phát triển web rất cần một số cách để truy cập và thao tác theo chương trình các phần tử HTML và kiểu CSS của chúng. Ví dụ sử dụng: Để cung cấp cho trường biểu mẫu trống một ranh giới màu đỏ, cho thấy rằng người dùng phải nhập dữ liệu bắt buộc vào trường. Ở đây chúng ta cần đưa ra ranh giới đỏ cho một phần tử từ script.
- Xử lý sự kiện: Mọi ngôn ngữ kịch bản sẽ không được sử dụng nhiều nếu nó không thể nắm bắt và xử lý các sự kiện của người dùng và trình duyệt. Ví dụ sử dụng: Thêm một mặt hàng vào giỏ hàng khi nhấp vào nút “Thêm vào giỏ hàng”. Ở đây chúng ta cần xử lý sự kiện “nhấp chuột” vào nút “Thêm vào giỏ hàng”.
- Truyền thông: Trước JavaScript, cách duy nhất để gửi dữ liệu đến máy chủ từ một trang web là thông qua “biểu mẫu”. Điều này đặt ra một hạn chế lớn đối với các nhà phát triển web. Ví dụ sử dụng: khi bạn muốn giao tiếp với máy chủ nhưng không muốn người dùng gửi biểu mẫu cho nó.
Năm lý do chính này đã sinh ra JavaScript và ngược lại.
Bây giờ, hãy xem JavaScript sẽ hướng tới đâu:
- Phát triển phía máy chủ: NodeJS đã mở ra một nền tảng lớn cho các nhà phát triển JavaScript. Giờ đây, bạn có thể tạo ứng dụng máy tính để bàn và máy chủ bằng JavaScript mà không cần bất kỳ trình duyệt nào. Có, JavaScript bên ngoài trình duyệt.
- Phát triển thiết bị di động: Có một số trình phát trong lĩnh vực này cho phép bạn tạo ứng dụng di động bằng HTML, CSS và JavaScript. React Native cho phép bạn viết các ứng dụng di động gốc bằng JavaScript. Thú vị thật!
- Các công cụ JavaScript nhanh hơn: Các ông lớn trên thị trường – Mozilla, Google và Apple – tất cả đều đang cạnh tranh để xây dựng trình thông dịch JavaScript nhanh nhất bên trong trình duyệt của bạn, làm cho các ứng dụng web nhanh như các ứng dụng gốc.
Vì vậy, nếu bạn biết JavaScript, bạn có thể tạo Ứng dụng web, Ứng dụng máy chủ, Ứng dụng máy tính để bàn và Ứng dụng di động. Hiếm có ngôn ngữ nào có thể bao gồm nhiều loại ứng dụng như vậy.
Nhưng JavaScript không phải là một ngôn ngữ lập trình. Đó là một ngôn ngữ kịch bản!
Vâng, tôi đã có thể nghe thấy rất nhiều người đã đọc một vài bài báo trên wiki hét lên câu trên.
Vấn đề là, nó có quan trọng không?
Với nhiều loại ứng dụng mà bạn có thể tạo, cộng với vô số cơ hội nghề nghiệp mà nó mở ra, không có lý do gì để phân loại nó là ngôn ngữ kịch bản hay ngôn ngữ lập trình.
Điều quan trọng là – nó được thực hiện tốt, anh bạn!
Cơ hội nghề nghiệp với JavaScript
Không có gì ngạc nhiên khi phần lớn các câu chuyện thành công được đăng trên Reddit và các diễn đàn khác là về cách một lập trình viên tự học có được công việc Frontend Development trong một công ty CNTT lớn hoặc một Startup địa phương.
Bởi vì phát triển Frontend (HTML + CSS + JS) là con đường dễ nhất và nhanh nhất để có được sự nghiệp lập trình.
Dưới đây là một số lợi thế nếu bạn đang bắt đầu hành trình của mình với HTML, CSS và JavaScript:
- Lập trình viên Frontend: Mức lương trung bình: $76,200
- Lập trình viên Backend: Mức lương trung bình: $91,668
- Lập trình viên Full Stack: Mức lương trung bình: $110,597
- Cơ hội việc làm từ xa: làm việc từ mọi nơi trên thế giới
- Dễ dàng kiếm được công việc tự do so với các ngôn ngữ khác
- Dễ dàng xây dựng danh mục đầu tư so với các ngôn ngữ khác
Cảm ơn bạn đã theo dõi bài viết!
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.
TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU
KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG