Nội dung gồm 10 phần chia thành 3 bài viết

4. HTML / CSS, biết thôi chưa đủ, bạn cần chuyên nghiệp

Cho dù Bootstrap có thể gánh một khối lượng lớn các quả tạ từ CSS cho bạn nhưng bạn có thể sẽ muốn đưa phong cách riêng vào và chỉnh lại vài chỗ trong bất kì thư viện front-end bạn dùng. Phần lớn CSS có thể nhanh chóng "Google" nhưng nếu thực sự bạn muốn "xào nấu" lại website và có một niềm yêu thích design, bạn cần một sự hiểu biết sâu sắc về CSS. Việc này bao gồm cả nhập và thiết kế font chữ, cài đặt các thiết lập dựa trên phần kích thước màn hình mà Bootstrap grid không chạm tới được và dùng CSS selector như :nth-child(). Về phần HTML thì không có gì nhiều để học lúc này và bạn có thể ung dung làm tới đâu học tới đó, nhưng trước khi làm template, hãy ghi nhớ sự khác biệt giữa các inline elements (phần tử nội dòng) như <span> và cái cách mà chúng khác nhau như <div>. Điều này sẽ giúp bạn đỡ xoắn não hơn khi làm việc với CSS.

Nếu bạn thấy các tags đóng/mở của HTML và các selectors của CSS thổi phồng hơi quá thì tin vui là các preprocessors (bộ tiền xử lý) sẽ làm các ngôn ngữ template này thú vị hơn. HTML thì ta có các tool như Pug và HAML: các preprocessor của HTML không được dùng nhiều như CSS. Về CSS thì có rất nhiều phần mở rộng như Stylus, LESS, SASS và PortCSS. Gộp chung thì một số các công cụ trên đều được tích hợp vào trong cả Angular và React. Bản thân tôi thì thiên về SASS và LESS hơn.

5. Node.js và framework back-end

Node.js chỉ là môi trường để JavaScript chạy như 1 back-end bình thường như các nền tảng khác. Đương nhiên vì là trên Node.js nên sẽ có vài điểm khác so với JavaScript trên trình duyệt. Cả trình duyệt và Node.js đều thực thi JavaScript và dùng Engine V8. Điểm chính ở đây là trình duyệt thì có thêm API để truy cập vào DOM và Node.js cũng dùng API nhưng là để tương tác với hệ điều hành. Để trở thành một full-stack JavaScript thì nhất định phải học Node.js và may mắn là bạn không phải học riêng hẳn một ngôn ngữ.

Cũng như front-end, bạn sẽ có kha khá lựa chọn khi chọn framework back-end. ExpressJS được xem là tiêu chuẩn. Express làm mọi thứ dễ dàng hơn khi spin back-end server và viết API. Nếu bạn muốn nghịch thử các framework khác thì tôi khuyên là trước hết nên thử qua Express và luyện tập cho đến khi bạn tự tin để chơi back-end bằng JavaSript.

6. Luyện TypeScript

JavaScript quả thật là lỗi thời, vô vàn vấn đề như Cross browser compatibility (kiểm thử nhiều trình duyệt), quá nhiều phiên bản Node.js, không có type safety (hỗ trợ kiểu an toàn) khiến việc tinh chỉnh khó khăn và chỉ "bán hướng đối tượng", mới có từ khoá class trên ES6. TypeScript được chuyển thể để dọn dẹp sạch sẽ ES5 code để loại bỏ các vấn đề tương thích và cũng đồng thời cho phép bạn code JavaScript một cách hướng đối tượng giống với C#/Java.

Dùng TypeScript phần nào giúp tôi tiến hoá lên thành một lập trình viên tốt hơn và đả thông các khái niệm như interfaces (giao tiếp), inheritance (tính kế thừa), access control (public, private, ...) và cải thiện tính trừu tượng. Nếu bạn chưa biết gì về JavaScript thì có khi TypeScript sẽ khiến mọi thứ tự nhiên và dễ dàng hơn là JavaScript truyền thống. Một sự hữu ích khác về TypeScript là nó có thể được dùng với lint file để tăng tính ràng buộc khi code.