Nhảy tới nội dung

Survival TypeScript là gì

Mục tiêu của cuốn sách này là trở thành một cuốn sách dẫn dắt người đọc theo con đường ngắn nhất để có thể sử dụng TypeScript trong công việc thực tế ngay lập tức. Cuốn sách này không phải là tài liệu toàn diện về TypeScript. Ngược lại, chúng tôi sẽ bỏ qua các tính năng TypeScript ít được sử dụng trong thực tế. Nội dung được chọn lọc kỹ, tập trung vào các tính năng thường gặp nhất, với quan điểm "Nếu sử dụng TypeScript trong thực tế, đây là những điều bạn cần nắm vững" và "Nếu nắm vững những điều này, bạn sẽ không bị chết trong thực tế (= có thể survival)".

Cuốn sách này tập trung chủ yếu vào TypeScript, nhưng cũng đề cập đến JavaScript specification, frontend framework React, v.v. vì đây là những kiến thức cần thiết trong công việc thực tế.

Cuốn sách này dành cho ai?

Cuốn sách này dành cho những người có kinh nghiệm lập trình nhưng mới bắt đầu học TypeScript, hoặc vừa mới bắt đầu. Ví dụ, chúng tôi hướng đến các programmer có các thuộc tính sau:

  1. Chủ yếu làm server-side programming (PHP, Ruby, Java, v.v.) nhưng cũng cần đảm nhận frontend.
  2. Có kinh nghiệm JavaScript nhưng chưa thành thạo lắm, muốn học song song TypeScript.
  3. Chủ yếu làm việc với ngôn ngữ kiểu động như Ruby hoặc Python, chưa quan tâm nhiều đến kiểu, và cảm thấy cần học về hệ thống kiểu.

Những gì không được đề cập trong cuốn sách này

Cuốn sách này dành cho người mới học TypeScript nhưng đã có kinh nghiệm lập trình. Do đó, những kiến thức cơ bản về lập trình như "Biến là gì?" hay "Hàm là gì?" sẽ không được đề cập.

Cấu trúc cuốn sách

Chương 2 "Tổng quan về TypeScript" giới thiệu khái quát về TypeScript. Đồng thời, chúng tôi cho bạn thấy ưu điểm của TypeScript và vị trí của nó trong hệ sinh thái JavaScript, giúp bạn nắm được bức tranh tổng thể. Chúng tôi cung cấp thông tin chi tiết về TypeScript và giúp bạn có thể giới thiệu TypeScript với đồng nghiệp hoặc team của mình. Bằng cách tìm hiểu lịch sử, tư tưởng và triết lý của TypeScript, bạn sẽ biết TypeScript phát huy sức mạnh thực sự ở đâu. Chúng tôi sẽ trả lời các câu hỏi như: Tại sao nên sử dụng TypeScript? Ưu thế của TypeScript là gì? Mối quan hệ giữa TypeScript và JavaScript như thế nào?

Chương 3 "Học TypeScript qua thực hành" là phần workshop nơi bạn sẽ implement các ứng dụng khác nhau bằng TypeScript. Qua đó, bạn sẽ học nhẹ nhàng về TypeScript và cảm nhận được quy trình phát triển với TypeScript. Trong workshop này, để gần với phát triển thực tế hơn, chúng tôi không chỉ đề cập TypeScript mà còn cả frontend framework React, testing framework Jest, thao tác CRUD qua REST API và giao tiếp với backend qua WebSocket. Chương này cũng giải thích tối thiểu về tính năng và cách viết TypeScript, nhưng giải thích chi tiết về tính năng ngôn ngữ sẽ được trình bày ở Chương 4.

Chương 4 "Học TypeScript qua đọc" giải thích từng tính năng ngôn ngữ của TypeScript. Thay vì tham khảo tất cả tính năng, chúng tôi giới hạn vào những tính năng thường xuyên sử dụng trong phát triển thực tế, tập trung vào những tính năng cần nắm vững. Vì người học TypeScript thường học song song JavaScript, chúng tôi cũng xen kẽ giải thích về JavaScript.

Chương 5 "Tips" giới thiệu các kỹ thuật coding thường dùng trong JavaScript và TypeScript.

Cách sử dụng cuốn sách

Về cơ bản, bạn có thể đọc cuốn sách theo thứ tự các chương.

Luồng tổng thể của cuốn sách là phần ứng dụng - phát triển app (Chương 3) đứng trước phần cơ bản - tính năng ngôn ngữ TypeScript (Chương 4). Điều này dựa trên kinh nghiệm rằng học qua thực hành hiệu quả hơn.

Vì chúng tôi cố ý đặt phần ứng dụng trước, ngay cả người đọc lần đầu tiếp xúc TypeScript cũng có thể đọc từ Chương 3 mà không cần đọc phần cơ bản (Chương 4) trước.

Về tác giả

Cuốn sách này được viết bởi một nhóm programmer tình nguyện, chủ yếu là những người tham gia YYTypeScript. Việc viết được thực hiện theo cách open-source, cuốn sách được công bố trên GitHub và luôn chào đón sự tham gia viết. Nếu bạn quan tâm đến việc viết, vui lòng xem trang thông tin dành cho tác giả.

Contributors

Dưới đây là những người đã tham gia lên kế hoạch, viết và biên tập cuốn sách này (không theo thứ tự, không kính ngữ).

  • reoring
  • suin
  • nouphet
  • クロレ
  • jamashita
  • fuubit
  • t-yng
  • kakiuchi
  • philomagi
  • mikkame
  • NkawaK
  • zima
  • tatsuki_sun
  • 建築のジョー
  • ないとう
  • takezoux2
  • _rena_h

Nếu bạn là contributor mà chưa có trong danh sách này, vui lòng liên hệ qua GitHub Issues.

Cập nhật liên tục

Cuốn sách này sẽ được cập nhật liên tục.