Thứ Hai , Tháng Tư 24 2017
Trang chủ / Chuyên đề lập trình / Này lập trình viên web, bạn đã sở hữu kungfu TypeScript chưa?

Này lập trình viên web, bạn đã sở hữu kungfu TypeScript chưa?

Vào thời điểm 15 năm trước, ai đó nói JavaScript sẽ thống trị thế giới thì sẽ được đưa vào nhà thương điên ngay lập tức (Java mới là kẻ thống trị lúc đó).

Nhưng bây giờ mọi chuyện đã chuyển sang hướng khác, rất khác!

Dù muốn hay không, JavaScript đã và đang trở thành assembly của web.

Như trước đây, lập trình viên phải tự tay viết từng dòng HTML, CSS và JavaScript để tạo ra những trang web tĩnh. Tại thời điểm đó, chỉ cần 3 công nghệ này là quá đủ để làm web. Theo thời gian, xã hội phát triển, web cũng phát triển theo. Giờ đây, nó không chỉ là vài ba trang HTML được liên kết với nhau, nó đã trở thành một ứng dụng ngang ngửa với ứng dụng desktop. Công nghệ làm web từ đó mà trở nên phức tạp hơn. Lập trình viên web giờ đây phải thành thạo nhiều công nghệ cùng lúc, từ client cho tới server.

Làm việc với JavaScript, lập trình viên phải chấp nhận sống chung với khuyết điểm trời ơi đất hỡi như:

  • Tính mở trong việc sử dụng biến gây khó khăn trong việc kiểm soát sự thay đổi, cập nhật
  • Có rất nhiều công cụ biên tập cho ngôn ngữ này từ loại đơn giản như NotePad, hay phức tạp hơn như Eclipse, Sublime Text, Visual Studio, … Các công cụ này hỗ trợ xổ code, đánh dấu màu cho các thành phần source code nhưng để phát hiện ra lỗi ngay khi ta viết code quả thực thật khó. Thực tế, có một số trình biên dịch có khả năng kiểm soát tính thống nhất các biến khi sử dụng nhưng chỉ phần lớn gói gọn trong một file nguồn còn khi mã nguồn của tra cần dàn ra rất nhiều file, thư mục thì quả là nan giản.
  • Các ứng dụng phức tạp đòi hỏi sử dụng rất nhiều file source, tách thành nhiều thư mục riêng thì việc đảm bảo tính thống nhất sẽ mất rất nhiều công sức vì phải thao tác bằng tay khá nhiều.
  • Ngôn ngữ JavaScript về lý thuyết có hỗ trợ mô hình hướng đối tượng (OOP) nhưng khi áp dụng lại khá là khó khăn vì các làm không hề giống với các ngôn ngữ bậc cao quen thuộc khác như C#, Java, C++,…

NHƯNG TỪ ĐÂY MỌI THỨ SẼ THAY ĐỔI!…. Khi TypeScript ra đời với sứ mệnh khắc phục khuyết điểm của JavaScript, do Anders Hejlsberg (cha đẻ của C#, Turbo Pascal và Delphi) đã tham gia phát triển TypeScript.

Ngay cả ông lớn Google cũng tuyên bố dùng TypeScript để phát triển AngularJS 2.0. Điều này gây khá nhiều bất ngờ vì Google có một ngôn ngữ tên Dart cũng thực hiện chức năng tương tự TypeScript, với lại xưa nay Google và Microsoft vốn không ưa nhau lắm.

Để thực sự cảm nhận sức mạnh của TypeScript, ta phải tự tay dùng nó. Hãy xem qua một đoạn TypeScript sau:

javacript

Đoạn TypeScript này khá đơn giản. Chỉ tạo một lớp Girl và cung cấp vài thuộc tính cơ bản. Sau đó, tạo thêm lớp HotGirl để kế thừa những đặc điểm của Girl.

Bây giờ, ta xem code JavaScript được tạo ra từ TypeScript:

type

Hãy thừa nhận, sau khi nhìn thấy 4 dòng đầu tiên, bạn đã cảm thấy chóng mặt, hoa mắt. Tưởng tượng tí, phải gõ bằng tay những dòng JavaScript này để sử dụng các tính năng cơ bản của lập trình hướng đối tượng. Vì JavaScript có cơ chế hoạt động khác thường, nên nó đòi hỏi ta phải dùng những design pattern đặc biệt để cấu trúc, sắp xếp code sao cho dễ quản lý và bảo trì. Ôi đúng là ác mộng!

NHƯNG TỪ ĐÂY MỌI THỨ SẼ THAY ĐỔI!…. Khi đã có TypeScript lo….

  • TypeScript sử dụng các kiểu dữ liệu chặt chẽ mà vẫn tương thích với JavaScript cho phép kiểm soát việc sử dụng sai kiểu cho các thành phần khai báo
  • TypeScript hỗ trợ class, interface, property,… những thứ mà JavaScript không hỗ trợ. Giờ đây, việc viết code TypeScript sẽ trở nên gần giống với các ngôn ngữ họ nhà C (C++, C#,…) và những kĩ năng bạn sử dụng trong những ngôn ngữ đó có thể mang qua TypeScript để tận dụng dễ dàng. Do vậy, những cơn ác mộng về quản lý, bảo trì code JavaScript không còn khiến ta phải bận tâm.
  • TypeScript tương thích với thư viện JavaScript sẵn có
  • Hiện nay có rất nhiều công cụ biên tập hỗ trợ TypeScript như Visual Studio, Sublime Text, Eclipse, Visual Studio Code, WebStorm, Atom
  • Có thể sử dụng TypeScript để phát triển ứng dụng cho backend (NodeJs) hay frontend với các ứng dụng chạy trên trình duyệt.
  • Hỗ trợ ECMAScript 5, ECMAScript 6.
  • Hỗ trợ lập trình với kiểu generic
  • Cho phép phân tách thành các thành phần rời thông qua việc sử dụng module và namespace
  • TypeScript hỗ trợ kiểu tĩnh (static type) so với kiểu động (dynamic type) trong JavaScript. Việc này rất có lợi trong quá trình debug và test các ứng dụng lớn.

TypeScript quả thực có sức mạnh vi diệu, này các lập trình viên web, nên cố gắng sở hữu sức mạnh này ngay hôm nay vì JavaScript sớm muộn gì cũng sẽ trở thành một assembly của web. Ngày càng có nhiều ngôn ngữ được biên dịch sang JavaScript, và nổi bật nhất chính là TypeScript.

Hãy nhanh tay sở hữu kungfu TypeScript bằng click GHI DANH khóa học TypeScript – ES6 (Javascript) qua dự án Shopping Cart – Nền tảng Node.js và AngularJs 2 Từ 16/09 -> 23/09 với giá khuyến mãi khai trương khóa học. Ngoài ra, thêm 50k bạn sẽ có thêm chiếc áo Sơ Mi cực KOOL dành riêng cho developer. (Số lượng có hạn)

???? Đây là khoá học không thể bỏ qua đối với bạn. Khoá học cung cấp một cách chi tiết, cặn kẽ về ngôn ngữ TypeScript (javascript) từ cách cài đặt đến khai báo, Hướng đối tượng. Và ĐẶC BIỆT bạn được thực hành chi tiết một dự án Shoping cart trong khoá học.

(Tổng hợp)

Một số khóa học lập trình nổi bật khác:

Nhận xét của bạn

nhận xét

Tác giả Lion

Lion

Xem thêm

Khóa học Nhập môn Java/Hướng đối tượng Java/Một số mẫu Design Pattern Java

Java không còn là một ngôn ngữ xa lạ với cộng đồng lập trình. Với việc …

Trả lời