- Django đã chạm mốc kỷ niệm 20 năm ra mắt, một cột mốc đầy ý nghĩa
- Django là một framework web dành cho những nhà phát triển theo chủ nghĩa hoàn hảo nhưng vẫn phải kịp deadline, và đã là một dự án được yêu mến suốt 20 năm qua
- Là một framework web chủ chốt trong hệ sinh thái Python, Django được sử dụng rộng rãi bởi doanh nghiệp, startup và lập trình viên cá nhân nhờ cộng đồng lớn, nguồn tài liệu mã nguồn mở phong phú và nhiều plugin đa dạng
- Nhờ quá trình phát triển và bảo trì liên tục trong thời gian dài, Django tiếp tục củng cố độ tin cậy, tính bảo mật và khả năng mở rộng
- Django sở hữu lợi thế cạnh tranh nổi bật khi hỗ trợ cả tạo prototype nhanh lẫn vận hành dịch vụ ổn định thông qua triết lý thiết kế gọn gàng nhưng mạnh mẽ
- Đến nay, Django vẫn được cập nhật tích cực và mở rộng hệ sinh thái, tiếp tục là công cụ cốt lõi cho các nhà phát triển dịch vụ web quy mô lớn
9 bình luận
Chỉ dùng Django thì vui, nhưng dính thêm cả DRF là thấy bất hạnh.. hu hu
Có lẽ là vì sao nhỉ!?
Tôi đã từng triển khai REST API bằng Django, nhưng khi dùng Form các thứ thì cũng thấy tiếc là giá như dùng DRF có lẽ đã phù hợp hơn.
Nói chính xác hơn, khi triển khai máy chủ backend bằng Django cho một dịch vụ có frontend và backend tách riêng, việc chỉ dùng phần backend lại khiến mình thấy gánh nặng vì sự cồng kềnh mang màu sắc full-stack đặc trưng của Django, và mình cũng khó chịu với việc phải phụ thuộc quá nhiều vào DRF khi dùng nó để bổ sung tính RESTful cho Django..
Đặc biệt là sự phụ thuộc xuất phát từ việc bản thân DRF gắn rất chặt với Django ORM, rồi càng dùng DRF thường xuyên và ở nhiều nơi thì lại càng dễ dẫn đến tình trạng có thể dùng Django ORM ở bất kỳ đâu, kéo theo sự phân mảnh và khả năng truy cập DB tràn lan gây cảm giác bất an; thêm vào đó, serializer mà DRF cung cấp không chỉ dừng ở việc tuần tự hóa và kiểm chứng dữ liệu đúng như tên gọi, mà còn có vai trò và khả năng vượt xa hơn thế, và càng dùng serializer thì ranh giới của MVC lại càng trở nên vô nghĩa, v.v.. Nghĩ đến mức đó thì mình thường thấy rằng thay vì nhất thiết phải dùng tổ hợp Django+DRF, sẽ ổn định hơn nếu triển khai backend bằng một framework khác. Vì vậy mà từ một thời điểm nào đó, mình thực sự bắt đầu ưu tiên chọn FastAPI.
Kể từ khi dùng Django, với tư cách là một người dùng từng trải nghiệm sự nghiệp của mình được nâng tầm hoàn toàn, tôi thực sự rất biết ơn. Tôi cũng đã vài lần đóng góp cho Django, mong rằng nó sẽ còn được yêu mến thật lâu nữa haha
Tôi thực sự rất thích Django! Bản thân tôi cũng mang ơn nó ở nhiều khía cạnh và luôn cảm thấy biết ơn. Dù Django có phần kém phổ biến hơn trước, nhưng thật ra tôi cũng không nghĩ đã từng có thời điểm nào Django đặc biệt “hot”; tôi tin đây sẽ tiếp tục là một framework ổn định, được yêu mến bền bỉ và tồn tại thật lâu dài!
Tôi vẫn dùng khá tốt cho việc phát triển web như một sở thích
Chúc mừng sinh nhật Django!
Wow...! Lần đầu tôi dùng nó là trong một dự án chọn vì nó là Python...
Đã trôi qua một khoảng thời gian dài rồi nhỉ!
Mong là mình lại có thể làm việc trong một môi trường có dịp sử dụng nó :) hhh
Hay là làm thử một dự án side nhỉ...
Ý kiến trên Hacker News
Tôi nợ Django cả sự nghiệp của mình. Tôi lần đầu tiếp xúc với Django khi làm website trong phòng thí nghiệm hồi đại học, và lúc đó Django còn hoàn toàn mới, còn tôi thì chẳng hề nghĩ đến những chuyện như độ ổn định hay bảo mật, nên cái gì cũng làm bằng Django. Vài năm sau, chính nhờ kỹ năng tích lũy từ Django mà tôi vào được một phòng thí nghiệm machine learning tiên tiến với vai trò dọn dẹp một frontend phức tạp. Sau đó, từ nhân viên chính thức đầu tiên của một công ty spinout từ phòng thí nghiệm, đến việc được một tập đoàn lớn mua lại, mở rộng hệ thống ML dựa trên cảm biến, đồng sáng lập một quỹ VC tập trung vào ML, rồi thành lập một công ty AI đã tồn tại hơn 10 năm, tất cả đều có được nhờ Django
Cộng đồng Python thời đó thực sự rất ấm áp. Trên mạng có rất nhiều người sẵn sàng giúp đỡ nhau, và Ruby cũng mang lại trải nghiệm thú vị tương tự
Trong phòng thí nghiệm, bọn tôi đã tận dụng ORM của Django rồi đi đến một cấu trúc phức tạp khi tạo riêng các máy chủ cơ sở dữ liệu MySQL tách biệt vật lý cho từng người dùng. Thật ra trong kiểu tình huống này, có lẽ
sqlitesẽ phù hợp hơnTôi tò mò không biết Django có từng mang tiếng là không ổn định hoặc yếu về bảo mật hay không. Và cũng thắc mắc vì sao các nghiên cứu sinh tiến sĩ về machine learning lại đưa ra yêu cầu mỗi người dùng một DB tách biệt như vậy
Với tôi cũng vậy, Django là phần mềm đầu tiên giúp tôi dễ dàng trải nghiệm công việc freelance và phát triển phần mềm, đồng thời cho tôi cơ hội học hỏi mã nguồn Python chất lượng cao và văn hóa phát triển
10 năm trước, chúng tôi đã tổ chức trực tiếp sự kiện sinh nhật 10 năm của Django ở Lawrence, Kansas. Video các bài nói chuyện khi đó có thể xem tại đây. Hôm qua, nhân dịp Django tròn 20 tuổi, tôi đã tổng hợp lại bài nói chuyện của mình khi đó kèm chú thích, nên nếu bạn tò mò về câu chuyện khởi đầu của Django thì hãy xem bài viết này
Tôi bắt đầu dùng Django vào năm 2006, vào thời điểm phát hành v0.95 "magic removal". Khi đó tôi 19 tuổi và đang dùng PHP ở một startup nhỏ. Lúc Rails đang rất được chú ý, tôi đã thử cài nó nhưng không dễ trên chiếc laptop Ubuntu của mình. Rồi tôi biết đến Python và Django, và chỉ trong 20 phút đã có thể dựng lên một trang Hello World. Sau đó là đủ loại thay đổi như newforms, bản phát hành 1.0, các tính năng DB ngầu, migration (với những cuộc tranh luận giữa South và Nashvegas), class-based views, các tính năng Postgres như JSONField tích hợp sẵn, hỗ trợ Python 3, ASGI, v.v. Tôi tham dự DjangoCon đầu tiên vào năm 2008, và đến 2018 thì lần đầu tiên có dịp thuyết trình. Sự nghiệp của tôi nợ Django rất nhiều, và tôi chưa bao giờ hối hận vì đã chọn Django cho các dự án lớn nhỏ. Cộng đồng cũng là một phần khiến tôi thấy như vậy. Chúc mừng sinh nhật Django
Django là kiểu framework cứ thế mà chạy. Với những người không quá thích JS như tôi, tôi thực sự biết ơn vì Django vẫn tiếp tục tồn tại. Xin cảm ơn những người đã đều đặn đóng góp trong khi các framework JS liên tục nổi lên rồi biến mất
Tôi đã làm việc lâu năm với Django ở nhiều công ty. Mỗi khi dùng framework khác, tôi lại nhận ra Django đã giữ tốt đến mức nào nguyên tắc ban đầu là "batteries included" mà vẫn thích nghi rất tốt với công nghệ mới. Có một cộng đồng thật sự tuyệt vời, và việc cộng đồng ấy duy trì được lâu đến vậy là điều rất đặc biệt. Tất nhiên các framework khác cũng có ưu điểm, nhưng nếu nhìn vào hệ công cụ tổng thể thì Django vẫn là số một cho các dự án phức tạp, quy mô lớn. Với các dự án nhỏ thì nó cũng không phải lựa chọn tệ
Dạo này tôi khá thường xuyên chỉ trích Python, nhưng vẫn cảm thấy biết ơn Simon và toàn bộ cộng đồng Django. Đây thực sự là một framework "batteries included" tuyệt vời, đã tác động đến rất nhiều dự án, công ty và sự nghiệp. Tôi tất nhiên cũng là một trong số đó. Và đến giờ tôi vẫn lấy pgadmin làm chuẩn tham chiếu khi đánh giá các bảng quản trị trong những hệ sinh thái khác. Tôi nghĩ những gì Django đạt được là rất đáng nể. Nếu không có Django, tiến bộ công nghệ hiện nay chắc hẳn đã chậm hơn rất nhiều. Tôi thực sự rất biết ơn
15 năm qua làm việc cùng Django là một trải nghiệm rất vui. Tôi đã có nhiều bài học lớn khi tham gia cộng đồng, và việc được phục vụ trong hội đồng DSF rồi làm chủ tịch cũng là một vinh dự. Tôi mong chờ 20 năm tiếp theo của cả code lẫn cộng đồng
Trong tất cả framework tôi từng dùng, Django vượt trội hẳn. Có nó rồi nên tôi chưa từng thấy cần phải học JavaScript phía backend
Với những ai đã dùng cả Django lẫn Ruby on Rails, tôi muốn biết mọi người thích bên nào hơn và vì sao. Khoảng 10 năm trước tôi học Python trước, nhưng đã chọn Rails đầu tiên vì muốn học Ruby
Tôi đã dùng cả Rails lẫn Django một cách chuyên nghiệp, và trên thực tế tôi khuyên dùng Django. Phần meta của Rails cũng hay, nhưng hệ sinh thái thư viện Python quá lớn nên gần như mọi thứ đều có thể làm chỉ với Django. Các công ty dùng Rails thường có thêm code Python riêng để tương tác, còn với Django thì có thể xử lý một thể qua ORM. Nếu không cần các thư viện đặc biệt như machine learning/AI và chỉ có một người phát triển thật nhanh thì Rails rất nhanh. Nhưng nếu là startup, tôi sẽ khuyên lấy Django làm framework mặc định
Lý do tôi thích Django hơn là thế này: tôi luôn thích Python hơn Ruby, và triết lý import tường minh, namespace rõ ràng, cùng việc khuyến khích một cách làm duy nhất thì có khả năng mở rộng tốt hơn. Django cũng theo triết lý đó nên cần cấu hình nhiều hơn một chút và tường minh hơn, nhưng bù lại dễ debug và rõ ràng. Trên hết, tài liệu của Django không chỉ giải thích framework mà còn dạy rất tốt về các thực hành phát triển tốt, trong khi Ruby thiếu điểm này nên cách làm giữa các dự án khác nhau khá nhiều. Django cũng vượt trội về độ ổn định, và việc migration giữa các phiên bản lớn có cảm giác dễ dàng hơn. Hệ sinh thái Python cực kỳ đồ sộ, còn admin và Rest Framework của Django thực sự tiết kiệm một lượng thời gian khổng lồ. Rails cũng có những thứ tương tự nhưng tác động không giống vậy. Tất nhiên, nếu không phải GIS hay tính toán khoa học thì sở thích cá nhân vẫn là điều quan trọng nhất, và Rails vẫn là một framework tuyệt vời
Dự án đó (Django) được tạo ra ở khu vực KC metro gần nơi tôi sống, và đã cùng đối tác kinh doanh của tôi tạo ra giá trị rất lớn. Chúc mừng sinh nhật vui vẻ