Đánh giá và review 20 sách lập trình web hay nhất 2020
05/06/2020
Học cách lập trình trang web là một mục tiêu khó khăn nhưng bổ ích. Có rất nhiều sách lập trình web để học và phải mất vài tháng luyện tập để thực sự hiểu được mọi thứ.
Nhưng với tài nguyên học tập phù hợp trong cộng đồng IT, mọi thứ đều có thể, và đó chính xác là lý do tôi tạo ra hướng dẫn này. Đây là một danh sách đầy đủ tất cả những cuốn sách lập trình web hay nhất bạn có thể sử dụng để học phát triển web từ đầu đến cuối.
Chúng sẽ đưa bạn đi tất cả các cách từ code giao diện đơn giản đến các trang web phức tạp hơn.
Sách về Front-end
Khi hầu hết mọi người nói về phát triển web, họ thường nói về front-end: HTML5, CSS3 và JavaScript.
Sử dụng 3 ngôn ngữ này, bạn có thể xây dựng bất kỳ trang web nào từ đầu và làm cho nó hoạt động trong tất cả các trình duyệt. Đây là nơi tốt nhất để bắt đầu và đó là thông tin quan trọng cho bất kỳ lập trình viên tham vọng nào. Đây là những lựa chọn hàng đầu của tôi cho sách về front-end bất kể trình độ của bạn.
Front-End Web Development: The Big Nerd Ranch Guide
Cuốn sách lập trình web này mở rộng toàn bộ mọi thứ bạn cần học để lập trình các trang web chức năng. Mỗi chương đi sâu vào chi tiết về các ngôn ngữ cơ bản, cách chúng khớp với nhau và cách bạn nên thực hành để có quá trình học nhanh nhất.
Tôi hoàn toàn giới thiệu cuốn sách này như một yếu tố chính cho bất kỳ ai đủ nghiêm túc để theo. Cuối cùng, bạn sẽ nắm vững sự phát triển web và hiểu sâu hơn về toàn bộ quá trình lập trình.
Responsive Web Design with HTML5 and CSS3
Thiết kế web responsive là tiêu chuẩn mới để xây dựng trang web. Hơn 50% thế giới truy cập Internet trên thiết bị di động thay vì máy tính để bàn và con số này đang tăng lên nhanh chóng.
Trong cuốn sách lập trình web này, bạn sẽ tìm hiểu tất cả các nguyên tắc cơ bản của hai ngôn ngữ quan trọng này: HTML5 và CSS3. Chúng là xương sống của bất kỳ trang web nào và chúng quyết định khá nhiều về cách toàn bộ trang web trông, cảm nhận và vận hành. Bạn sẽ tìm hiểu các công cụ & kỹ thuật tốt nhất để sử dụng cho phát triển web hiện đại, cùng với cách lập kế hoạch trang web của bạn.
Điều này có thể hơi cao cấp cho một người mới bắt đầu nhưng nó chắc chắn là một nguồn tài nguyên quý giá để theo. Tôi muốn giới thiệu cuốn sách lập trình web này cùng với cuốn tiếp theo như một cặp tài nguyên để học phát triển HTML / CSS.
HTML & CSS
Nếu bạn đang tìm kiếm một giới thiệu cụ thể hơn về các sách lập trình web thì HTML & CSS thường được coi là tài liệu đọc giới thiệu thực tế.
Hai ngôn ngữ này cho đến nay là dễ nhất để học trong tất cả các ngôn ngữ bạn sẽ tìm thấy trong phát triển web. Chúng cũng tạo nên các khối cấu trúc của mọi trang web, sử dụng HTML để tạo các thành phần trang và CSS để tạo kiểu cho chúng.
Trong cuốn sách lập trình web này, bạn sẽ tìm hiểu mục đích của các ngôn ngữ này và tại sao chúng liên quan chặt chẽ với nhau. Mỗi người học phát triển web nên bắt đầu với HTML và CSS cơ bản. Từ đó bạn luôn có thể mở rộng nhưng đây là điểm khởi đầu tốt nhất cho bất kỳ người mới nào.
JavaScript & jQuery
Một cuốn sách lập trình web khác mà tôi giới thiệu cùng tác giả là JavaScript & jQuery. Điều này đưa bạn đến cấp độ học tập tiếp theo bằng cách đẩy bạn vào lãnh thổ của JavaScript.
Nhiều lập trình viên đồng ý rằng JS rất giống ngôn ngữ lập trình, do đó, đây là một bước tiến từ công việc phát triển HTML / CSS đơn giản hơn. Khi bạn viết mã JS, bạn đang viết các tập lệnh để tạo các hành vi trên trang web của mình.
Cuốn sách này bắt đầu từ những điều cơ bản của JavaScript và từ từ đưa bạn vào thư viện jQuery. Đây là một công cụ miễn phí sẽ giúp bạn xây dựng trang web nhanh hơn và dễ dàng hơn với ít dòng code hơn.
You Don’t Know JS: Up & Going
Nếu bạn có một số kiến thức JavaScript cơ bản thì bạn có thể muốn thúc đẩy bản thân mình hơn nữa với các tiêu chuẩn thực hành & lập trình tốt nhất. Đó là một cuốn sách lập trình web rất ngắn chỉ có 88 trang nhưng nó được chia thành nhiều đầu mục. Tôi thực sự khuyên bạn nên có phiên bản kỹ thuật số vì bạn có thể tải xuống tất cả các tiêu đề cùng nhau trên một thiết bị và làm việc thông qua các bài học riêng lẻ.
Loạt sách này nhằm cải thiện bộ kỹ năng JS hiện tại của bạn bằng cách buộc bạn phải suy nghĩ về code bạn đang viết. Làm thế nào nó có thể hiệu quả hơn? Bạn đang làm gì có thể được tự động? Bạn có bất kỳ lỗ hổng trong codebase không?
Bằng cách thực hiện các bài học này, bạn sẽ học được cách cải thiện quy trình làm việc hiện tại của mình và cách xây dựng các ứng dụng web JavaScript có thể mở rộng.
Bí mật của Ninja JavaScript
Một cuốn sách lập trình web khác tập trung vào JS. Nó được viết bởi một số lập trình viên lành nghề bao gồm cả người tạo ra jQuery John Resig.
Cuốn sách này sẽ đưa bạn từ một người có ít kinh nghiệm đến một chuyên gia trong lĩnh vực lập trình JavaScript. Như tiêu đề cho thấy, nó thực sự sẽ dạy cho bạn cách trở thành một ninja và sử dụng các thư viện JS một cách thuần thục.
Chỉ cần lưu ý cuốn sách lập trình web này rất lớn tổng cộng hơn 460 trang. Sẽ mất nhiều thời gian để xử lý mọi thứ nhưng tôi hoàn toàn nghĩ rằng nó đáng để đầu tư.
Sách về Back-end
Mặt khác của phát triển front-end là phát triển back-end. Code này chạy trên máy chủ nơi không ai có thể truy cập được.
Mỗi trang web lớn bạn sử dụng bao gồm Google và Facebook đều có các cơ sở code lớn trên back-end. Có nhiều ngôn ngữ khác nhau mà bạn có thể thử, phổ biến nhất là PHP vì nó cung cấp hơn 80% toàn bộ Internet.
Những cuốn sách này sẽ giúp bạn tăng tốc với PHP và một vài ngôn ngữ back-end khác. Nhưng hãy chắc chắn rằng bạn đã cảm thấy thoải mái với lập trình front-end trước khi lao vào back-end.
PHP for the Web
Cuốn sách lập trình web này dạy bạn cách cài đặt PHP cục bộ và cách xây dựng một số ứng dụng thực sự đơn giản. Bạn cũng sẽ tìm hiểu cách xây dựng các biểu mẫu web tùy chỉnh, cách lưu trữ trong cơ sở dữ liệu và cách sử dụng tất cả thông tin này để tạo các ứng dụng web có thể sử dụng.
Thật không may, sách lập trình web này rất đơn giản vì vậy nó không nói về lập trình OOP hoặc bất kỳ chủ đề nâng cao nào khác.
Nhưng đây thực sự là một điều tốt cho những người mới bắt đầu, những người muốn có một phần giới thiệu rất nhẹ nhàng về chủ đề này.
Learning PHP, MySQL & JavaScript
Các trang web động thường sử dụng JavaScript và PHP cùng nhau để bạn có thể chuyển dữ liệu trên front-end trở lại PHP mà không cần làm mới trang. Đây là cách các ứng dụng web như Facebook chat hoạt động.
Nếu bạn muốn tạo một ứng dụng web động tương tự, hãy mua cuốn sách lập trình web này. Hiện tại nó đang ở phiên bản thứ 4 với hơn 800 trang và hàng tấn tài liệu đọc đáng kinh ngạc.
Cuốn sách này không dành cho người mới bắt đầu, vì vậy tôi thực sự khuyên bạn nên bắt đầu với hướng dẫn QuickStart trước. Bạn cũng nên có một chút nền tảng về JavaScript, mặc dù bạn thực sự không cần biết nhiều.
Trong bộ sách lập trình web PHP / JS khổng lồ này, bạn sẽ tìm hiểu cách tạo các ứng dụng cơ sở dữ liệu do MySQL cung cấp, sử dụng JavaScript để truyền dữ liệu tới các tệp PHP, sau đó gửi dữ liệu trở lại JavaScript để có thể chạy trong trình duyệt.
Nếu bạn đang hy vọng tạo các ứng dụng web động thì cuốn sách này là một tài liệu bắt buộc. Nó sẽ dạy cho bạn cách đúng đắn để làm mọi thứ trong khi dạy cho bạn 3 công nghệ phổ biến nhất cho công việc.
Modern PHP: New Features and Good Practices
Trong cuốn sách đáng kinh ngạc này, bạn có thể tìm hiểu sâu hơn về PHP để tìm hiểu về lập trình hướng đối tượng, các lớp tùy chỉnh, thư viện và các bài tập tốt nhất.
Bạn nên biết PHP trước khi chọn nó, hoặc ít nhất là sẵn sàng nghiên cứu và học hỏi khi bạn đang cần.
Bạn sẽ tìm hiểu rất nhiều về các kết nối cơ sở dữ liệu và cách sanitize/escape đầu vào của người dùng khi nó chuyển sang back-end. Tất cả mọi thứ trong cuốn sách lập trình web này vẫn được coi là thực hành tốt nhất, vì vậy đây là một cuốn sách tuyệt vời cho một lập trình viên PHP kinh nghiệm bước vào thế giới lập trình chuyên nghiệp.
PHP Objects, Patterns, and Practice
Với việc phát hành PHP 7, bạn nên học cách xây dựng nhiều ứng dụng web tối ưu hóa hơn. Hầu hết các cuốn sách trong danh sách này bao gồm các nguyên tắc cơ bản của PHP rất tốt và những nền tảng này không thay đổi ngay cả trong các phiên bản mới hơn.
Tuy nhiên PHP 7 nhanh hơn rất nhiều và thật tốt khi biết cách phát triển PHP trong tương lai. Hiện tại nó đang ở phiên bản thứ 5 với 580 trang và hàng tấn nội dung trên phiên bản PHP 7 mới hơn. Bạn sẽ tìm hiểu về các kỹ thuật OOP, các mẫu kiến trúc web phổ biến và cách giải quyết vấn đề với các giải pháp tốt nhất.
Chỉ chọn cuốn sách lập trình web này nếu bạn thực sự nỗ lực tiến xa hơn với PHP và thậm chí có thể coi phát triển PHP là một nghề nghiệp nghiêm túc.
Learn Web Development with Rails
Một số lập trình viên muốn tránh PHP vì nó thường chậm hơn và ít được tổ chức hơn các ngôn ngữ lập trình thực tế khác như Ruby. Tuy nhiên, mã Ruby khó học hơn rất nhiều nên có sự đánh đổi ở đây.
Nhưng nếu bạn sẵn sàng học Ruby để xây dựng trang web thì cuối cùng bạn sẽ tìm thấy Rails. Đó là một framework miễn phí được xây dựng để giúp code Ruby dễ quản lý hơn và có tổ chức hơn cho web.
Và nếu bạn hoàn toàn mới với RoR (Ruby on Rails) thì tôi hoàn toàn khuyên bạn nên đọc cuốn sách lập trình web này vì nó dành cho những người mới bắt đầu, những người chỉ muốn một nơi vững chắc để bắt đầu học Rails.
Bạn sẽ làm việc thông qua các ứng dụng web tùy chỉnh với các dự án web chi tiết. Cuốn sách này hoàn toàn đồ sộ với tổng số hơn 800 trang thay đổi. Hướng dẫn này dài và chắc chắn đầy thách thức nhưng hoàn toàn xứng đáng với nỗ lực.
Two Scoops of Django
Một ngôn ngữ back-end phổ biến khác là Python, mặc dù đây thực sự chỉ là ngôn ngữ lập trình đầy đủ. Nó có thể được sử dụng cho mọi thứ, từ phần mềm máy tính để bàn đến các ứng dụng di động.
Và giống như cách Ruby có Rails, Python có Django. Framework này làm cho nhiệm vụ của bạn dễ dàng hơn bằng cách đơn giản hóa mã Python bạn cần để kết nối với cơ sở dữ liệu và xây dựng các lớp / phương thức / v.v.
Đây là cuốn sách lập trình web mạnh nhất về phát triển Django bao gồm tất cả các khía cạnh thực tế của việc xây dựng một trang web Django. Thật không dễ dàng để làm việc và tôi hoàn toàn khuyên bạn nên bắt đầu với Python thông thường trước khi có được cuốn sách này.
Tuy nhiên, nếu bạn kiên quyết xây dựng một trang web do Python cung cấp thì cuốn sách lập trình web này sẽ giúp bạn đến đó nhanh hơn nhiều.
Có nhiều framework khác mà bạn có thể thử nhưng Django là lớn nhất với sự hỗ trợ nhiều nhất trên toàn thế giới. Đây thực tế là một yếu tố chính cho bất kỳ lập trình viên web Python nào và cuốn sách này là lựa chọn số 1 của tôi để tìm hiểu.
Node.js in Practice
Một trong những công nghệ mới nhất trong việc phát triển back-end là Node.js. Thư viện này cho phép bạn xây dựng các trang web hoàn toàn do JS cung cấp.
Cuốn sách lập trình web này rất đồ sộ và là một trong những phần giới thiệu kỹ thuật hơn là thư viện. Bạn nên có các kỹ năng lập trình JavaScript rất mạnh trước khi nghĩ đến việc học Node.
Nó đòi hỏi một môi trường máy chủ đặc biệt có thể gây khó khăn khi thiết lập, chưa kể bạn cũng cần học cách kết nối ngôn ngữ này vào cơ sở dữ liệu và các chương trình liên quan. Nhưng cuối cùng, điều này làm tăng thêm một môi trường mạnh mẽ nơi JavaScript thống trị tối cao.
Nếu bạn là người hoàn toàn mới để phát triển web, cá nhân tôi khuyên bạn nên sử dụng PHP trước. Đó là ngôn ngữ back-end dễ nhất để học và nó là ngôn ngữ phổ biến nhất trong tất cả mọi thứ.
Nhưng nếu bạn muốn tìm hiểu Node thì cuốn sách này sẽ giúp bạn tìm hiểu tất cả các nguyên tắc cơ bản cộng thêm một chút nữa.
Sách chung về lập trình
The Art of Computer Programming
Cuốn sách này trình bày tổng quan toàn diện về một loạt các thuật toán và phân tích chúng. Mặc dù cuốn sách này đã được hình thành cách đây vài thập kỷ, nhưng nó vẫn là một tác phẩm kinh điển vượt thời gian. Một trong những thế mạnh lớn nhất của cuốn sách là bộ sưu tập các vấn đề tuyệt vời đi kèm với mỗi chương. Tác giả đã chọn các vấn đề một cách cẩn thận và lập chỉ mục cho chúng theo độ khó. Giải quyết một số lượng đáng kể các vấn đề này sẽ giúp bạn có được sự hiểu biết vững chắc về các vấn đề xung quanh chủ đề đã cho.
Agile Software Development: Principles, Patterns, and Practices
Được viết bởi một lập trình viên phần mềm cho các lập trình viên phần mềm, cuốn sách này là một bộ sưu tập độc đáo về các phương pháp phát triển phần mềm mới nhất. Tác giả bao gồm các phương thức OOD, UML, Mẫu thiết kế, Agile và XP với mô tả chi tiết về thiết kế phần mềm hoàn chỉnh. Sử dụng một cách tiếp cận giải quyết vấn đề thực tế, nó cho thấy cách phát triển một ứng dụng hướng đối tượng, từ giai đoạn đầu phân tích, thông qua thiết kế cấp thấp và thực hiện. Đưa độc giả đi qua những suy nghĩ của người thiết kế – hiển thị các lỗi và hiểu biết sáng tạo trong suốt quá trình thiết kế phần mềm. Cuốn sách bao gồm: Statics và Động lực học; Nguyên tắc thiết kế Class; Quản lý phức tạp; Nguyên tắc thiết kế Package; Phân tích và thiết kế; Mô hình và mô hình giao nhau. Thảo luận về các phương pháp để thiết kế và phát triển một cách chi tiết.
Introduction to Algorithms
Cuốn sách bao gồm một loạt các thuật toán chuyên sâu, nhưng làm cho thiết kế và phân tích của chúng có thể truy cập được cho tất cả các cấp độc giả. Mỗi chương tương đối khép kín và có thể được sử dụng như một đơn vị nghiên cứu. Các thuật toán được mô tả bằng tiếng Anh và được thiết kế để có thể đọc được bởi bất kỳ ai đã có kiến thức cơ bản.
Phiên bản đầu tiên đã trở thành một văn bản được sử dụng rộng rãi trong các trường đại học trên toàn thế giới cũng như tài liệu tham khảo tiêu chuẩn cho các chuyên gia. Phiên bản thứ hai có các chương mới về vai trò của thuật toán, phân tích xác suất và thuật toán ngẫu nhiên và lập trình tuyến tính. Phiên bản thứ ba đã được sửa đổi và cập nhật xuyên suốt. Nó bao gồm hai chương hoàn toàn mới, on van Emde Boas trees và thuật toán đa luồng, và một phụ lục về ma trận. Nó có tính năng xử lý cải tiến lập trình động và các thuật toán và một khái niệm mới về edge-based flow trên các mạng lưu lượng. Nhiều bài tập và vấn đề đã được thêm vào cho phiên bản này
Don’t Make Me Think: A Common Sense Approach to Web Usability
Đừng làm tôi suy nghĩ là một cuốn sách của Steve Krug về khả năng tương tác máy tính và khả năng sử dụng web của con người. Tiền đề của cuốn sách là một chương trình phần mềm hoặc trang web tốt sẽ cho phép người dùng hoàn thành các nhiệm vụ dự định của họ một cách dễ dàng và trực tiếp nhất có thể. Krug chỉ ra rằng mọi người rất giỏi trong việc thỏa mãn hoặc sử dụng giải pháp khả dụng đầu tiên cho vấn đề của họ, vì vậy thiết kế nên tận dụng điều này. Ông thường trích dẫn Amazon.com như một ví dụ về một trang web được thiết kế tốt, quản lý để cho phép tương tác chất lượng cao, mặc dù trang web trở nên lớn hơn và phức tạp hơn mỗi ngày.
Cuốn sách này là một ví dụ về sự cô đọng (ngắn gọn) và hành văn tốt. Mục tiêu, theo lời giới thiệu của cuốn sách, là tạo ra một văn bản có thể được đọc bởi một giám đốc điều hành trên chuyến bay hai giờ.
The Clean Coder: A Code of Conduct for Professional Programmers
Các lập trình viên giỏi có chung một thuộc tính: Họ quan tâm sâu sắc đến thực tiễn tạo ra trang web. Họ coi nó như một nghề thủ công. Họ là những chuyên gia.
Trong The Clean Coder: Quy tắc ứng xử dành cho lập trình viên chuyên nghiệp, chuyên gia phần mềm huyền thoại Robert C. Martin giới thiệu các quy tắc, kỹ thuật, công cụ và thực hành thực sự. Cuốn sách này được viết với lời khuyên thực tế của cộng đồng về tất cả mọi thứ, từ ước tính và lập trình đến tái cấu trúc và thử nghiệm. Nó bao gồm nhiều hơn kỹ thuật: Đó là về thái độ. Martin chỉ ra cách tiếp cận phát triển phần mềm với danh dự, lòng tự trọng và niềm tự hào; làm việc tốt và làm việc sạch sẽ; giao tiếp và ước tính trung thực; đối mặt với những quyết định khó khăn với sự rõ ràng và trung thực; và hiểu rằng kiến thức sâu sắc đi kèm với trách nhiệm hành động.
Refactoring: Improving the Design of Existing Code
Trong hơn hai mươi năm, các lập trình viên giàu kinh nghiệm trên toàn thế giới đã dựa vào cuốn sách này để cải thiện thiết kế mã hiện có và tăng cường khả năng bảo trì phần mềm, cũng như giúp mã hiện tại dễ hiểu hơn.
Phiên bản mới này đã được cập nhật đầy đủ để phản ánh những thay đổi quan trọng trong bối cảnh lập trình. Ấn bản thứ hai, có một danh mục tái cấu trúc được cập nhật và bao gồm các ví dụ mã JavaScript, cũng như các ví dụ chức năng mới thể hiện tái cấu trúc mà không cần các lớp.
Giống như bản gốc, phiên bản này giải thích tái cấu trúc là gì; Tại sao bạn nên cấu trúc lại; Làm thế nào để nhận biết mã cần tái cấu trúc; và làm thế nào để thực sự làm điều đó thành công, bất kể bạn sử dụng ngôn ngữ nào.
- Hiểu quy trình và nguyên tắc chung của tái cấu trúc
- Nhanh chóng áp dụng các phép tái cấu trúc hữu ích để làm cho chương trình dễ hiểu và thay đổi hơn
- Khám phá các phép tái cấu trúc, mỗi lần giải thích, động lực, cơ học và các ví dụ đơn giản
- Xây dựng các bài kiểm tra vững chắc cho tái cấu trúc của bạn
- Nhận ra sự đánh đổi và trở ngại để tái cấu trúc
The Pragmatic Programmer: From Journeyman to Master
Các lập trình viên là những người thợ được đào tạo để sử dụng một bộ công cụ nhất định (editors, object managers, version trackers) để tạo ra một loại sản phẩm (chương trình) nhất định sẽ hoạt động trong một số môi trường (hệ điều hành trên các cụm phần cứng). Giống như bất kỳ nghề thủ công nào khác, lập trình máy tính đã sinh ra một lượng kiến thức khôn ngoan, hầu hết chúng không được dạy tại các trường đại học hoặc trong các lớp học chứng nhận. Hầu hết các lập trình viên dùng các thủ thuật được gọi là giao dịch theo thời gian, thông qua thử nghiệm độc lập.
Cuốn sách này khuyên độc giả nên học một trình soạn thảo văn bản và sử dụng nó cho mọi thứ. Nó cũng khuyên sử dụng phần mềm theo dõi phiên bản cho các dự án nhỏ nhất và phát huy giá trị của việc học cú pháp biểu thức chính quy và ngôn ngữ thao tác văn bản. Lời khuyên khác (có lẽ có giá trị hơn) nhẹ nhàng hơn. Có các lời khuyên để lập dự toán về thời gian và chi phí, và để tích hợp thử nghiệm vào quá trình phát triển. Lập trình viên làm việc chuyên nghiệp sẽ thích cuốn sách này.
Hãy lựa chọn những cuốn sách tốt nhất
Thật khó để giảm bớt danh sách này vì mỗi người tham gia phát triển web từ các cấp độ kỹ năng khác nhau với các mục tiêu khác nhau.
Nhưng nói chung, tôi khuyên bạn nên bắt đầu với cuốn sách Duckett HTML & CSS, tiếp theo là cuốn sách JavaScript & jQuery. Hai điều này sẽ cho bạn một nền tảng vững chắc để đứng vững, và từ đó bạn có thể phân nhánh thành bất kỳ ngôn ngữ nào thu hút sự chú ý của bạn. Hoặc nếu bạn thấy việc đọc sách còn khô khan và thiếu những bài tập, thực hành cụ thể thì bạn có thể tham gia các khoá học của Nordic Coder để được cùng học với các giảng viên nhiều năm kinh nghiệm trong ngành lập trình, chương trình học Online và Offline sẽ giúp bạn nâng cao kiến thức – đặt dấu chân trở thành các lập trình viên chuyên nghiệp trong tương lai.
(Theo vandelaydesign và dev.to)