Đó chỉ là một trong 4 vấn đề của Web Development trên quan điểm của các Developer.
Nếu ngại đọc một bài dài, thì đây là tóm tắt cho bạn:
Tuy nhiên nếu bạn không đồng tình, bạn có thể comment ở dưới.
Rồi, có nhiều vấn đề trong cách chúng ta xây dựng các website, và các developer đối mặt với chúng hàng ngày trong lúc ngồi tại bàn làm việc và gõ một cách chậm rãi lên bàn phím để lập trình trong một cái IDE đen thui với màn hình mờ mờ trong một buổi chiều ảm đạm
Vấn đề thứ nhất : Tôi chán nản
Có nhiều bạn tốn nhiều năm chỉ để xây dựng 3 thứ cơ bản hết lần này đến lần khác. Một cái form, một cái lưới và một cái modal dialog. Và rồi bỗng nhiên có một tin hot về công nghệ xuất hiện, nói rằng bạn có thể làm 3 thứ cơ bản đó, một lần nữa, chẳng có gì khác, theo cách họ tự định nghĩa, chúng ta lại học cái mới theo cách họ định nghĩa, để làm 3 thứ kia dễ hơn(họ nói vậy), theo cách họ vẽ ra, again and again...
Vấn đề là chúng ta đã quá chán nản, chán việc xây dựng một thứ hết lần này đến lần khác. Chúng ta muốn niềm vui trong công việc, đừng bảo là tôi sai, chúng ta vẫn yêu những gì mình đang làm, không muốn đổi nghề đâu, nhưng vẫn muốn thoát khỏi tình trạng chán nản này để tập trung vào những thử thách thú vị hơn.
Giờ đây, sẽ rất buồn cười nếu tôi nói với bạn rằng tôi đang cố gắng giải quyết vấn đề chán nản của bạn, không đâu! Nhưng bạn đã nghĩ vậy đúng không?
Đừng lẫn lộn giữa chán nản với ghét công việc. Tôi không có ý nói về việc bạn ghét công việc. Bạn đang yêu công ty và cái sản phẩm tuyệt vời mà mình đang xây dựng, chỉ là bạn đang nghĩ về việc thoát khỏi chán nản để tìm niềm vui trong công việc đó. Lặp đi lặp lại những việc như tạo form, danh sách product hoặc nút upload file và bạn đã từng làm hàng tỷ lần trước đó, vì thế bạn sẽ có ý định muốn tìm thử thách gì đó thật khủng, kiểu như là xây dựng một cái máy detect hot-dog sử dụng machine learning chẳng hạn
Vấn đề thứ 2: Giải pháp hiện tại
Hãy nói rằng bạn muốn xây dựng một ứng dụng web, sau khi hoàn thành tất cả các đặc tả, đến lúc quyết định chọn công nghệ gì để phát triển, trong giai đoạn bắt đầu, thông thường là việc chọn ngôn ngữ lập trình, nhưng sau đó bạn lại không muốn mình xây dựng mọi thứ từ đầu, nó giống như việc bạn phải đi đào đất sét để làm gạch rồi mới có thể xây nhà. Nói đến đây làm tôi nhớ lại video thú vị này:
Thế là bạn lại quyết định dùng framework
Ok, bạn không muốn phát minh lại cái bánh xe từ đầu, thế là quyết định dùng framework hoặc một mớ các thư viện. Đó là một bước tiến lớn, bạn nhận được rất nhiều thứ, chỉ cần kết nối đến framework trên server để nó làm việc cùng với thư viện UI yêu thích, rồi tạo một lớp authen trên nó, kết nối tất cả các dịch vụ lại, lập trình API, thiết lập cấu trúc các file, các module, các app, cấu hình webpack, tối ưu mã nguồn để nó chạy nhanh hơn, làm cho các bản build có kích thước nhỏ hơn vì bạn đã quên một vài component vì thế bạn add một số thư viện của jQuery vào và chấp nhận thời gian load của web lâu hơn chút....Bạn thấy rồi đấy, dường như nó không đơn giản như đan rổ.
Dùng CMS thì tốt hơn là dùng framework
Rồi xong, sau khi thử dùng framework và thấy đan rổ cũng không đơn giản và cũng thấy là nó tốn thời gian, đặc biệt nếu là dự án có trả phí, cần phải tối ưu thời gian phát triển, sửa lỗi...để gia tăng lợi nhuận. Thế là bạn chọn một cái CMS, bởi vì nó đã có tất cả mọi thứ cần thiết từ trên server đến ở client đều hoạt động tốt. Nhưng hầu hết các developer đều không hiểu rằng những CMS đó được thiết kế cho những mục đích nhất định và nó thường kiểu như là Page > New Page > Save Page > Publish.
Chắc hẳn, bạn có thể build các custom module, nhưng thường là phải đối mặt với việc tốn nhiều thời gian hơn với những luật lệ và giới hạn của CMS đó để code của bạn hoạt động đúng ý. Chưa nói đến việc chạy theo các update của CMS. Túm lại: Thêm vào các custom module cho CMS trông như thế này:
No comments:
Post a Comment