2012-10-08 27 views
92

Tôi muốn đi theo con đường phát triển web và có sự nghiệp với tư cách là nhà phát triển web bằng Python và thực sự muốn tìm hiểu Django vì đó là một khung công tác web đầy đủ và sẽ mang lại nhiều lợi ích hơn cho tôi khi tìm kiếm một công việc trên web nhà phát triển.Bình hoặc Django cho người mới bắt đầu?

Nhưng một người bạn bảo tôi bắt đầu với Flask vì nó đơn giản hơn, và sẽ giúp tôi khi tôi bắt đầu học Django, vì Django phức tạp hơn Flask. Vì vậy Flask sẽ làm mọi thứ dễ dàng hơn cho tôi khi tôi bắt đầu học Django.

Vì vậy, tôi nên bắt đầu với Flask, biết rằng cuối cùng tôi sẽ tìm hiểu Django? Hoặc chỉ mới bắt đầu học Django?

+2

Tôi đã tạo một trang tính để giúp các nhà phát triển khác quyết định giữa Flask và Django. Bạn có thể đi qua nó và nhận được một "kết quả" của khuôn khổ tốt nhất để sử dụng: https://wakatime.com/django-vs-flask-worksheet –

+1

Tôi biết một câu hỏi cũ nhưng điều này chắc chắn sẽ giúp người mới bắt đầu như chúng tôi [ Django VS Flask] (https://www.youtube.com/watch?v=zGqmRbkukk8) – Suresh2692

Trả lời

1

Bạn nên bắt đầu chơi với cả hai và sử dụng cái bạn thích nếu bạn không có nghĩa vụ sử dụng nó. Cũng lưu ý rằng việc học một trong số họ sẽ rất có thể làm cho việc tìm hiểu người khác dễ dàng hơn.

12

IMHO Tôi sẽ đi thẳng cho Django. Nó rất tốt có thể khó học cho một ứng dụng hoặc trang web đơn giản, tuy nhiên, tôi sẽ nói rằng số lượng hỗ trợ và tài liệu có sẵn trực tuyến vượt xa bất kỳ khung web Python nào khác.

Ngoài ra, như bạn nói, Django là một khung sử dụng thực tế. Nếu bạn có kế hoạch sử dụng nó, nó có thể là một sự lãng phí thời gian để tìm hiểu cái gì khác và sau đó không học được rằng để tìm hiểu Django. (vì bất kỳ thay đổi công nghệ nào liên quan đến một số việc không được đào tạo)

Đây là tất cả chủ quan và chỉ quan điểm của tôi.

15

Bình là một khung nhỏ nhưng điều này không làm cho nó đơn giản hơn.

Nó không đưa ra nhiều giả định về hệ sinh thái/thư viện bạn sẽ sử dụng. Nó để nó cho bạn.

Mà đến lượt mình, tôi nghĩ điều này có nghĩa là nó được giải quyết cho các nhà phát triển có kinh nghiệm hơn rất nhiều .

Django có đường cong học tập dốc hơn vì, như bạn đã nói, nó đầy đủ. Nó thực thi khi bạn có ORM riêng của mình, khung biểu mẫu, v.v. Nhưng nó tóm tắt rất nhiều phức tạp nếu không bạn sẽ phải giải quyết.

Tôi đồng ý với Daniel. Tôi sẽ đi thẳng đến Django nếu tôi ở vị trí của bạn.

145

Tôi khuyên bạn nên bắt đầu với Flask. Với Flask, bạn sẽ viết một cách rõ ràng các hàm tuyến đường của riêng bạn, làm cho các tuyến của bạn hiển thị các mẫu, v.v. tất cả đều sử dụng các hàm Python mà bạn đã quen thuộc. Có rất ít "ma thuật". Bạn có thể thấy chính xác mọi thứ đang diễn ra như thế nào và hiểu tại sao nó đang xảy ra. Flask tài liệu cũng khá tốt đẹp và ngắn gọn để bạn có thể đọc nó và tìm hiểu Flask trong một vài giờ, dành nhiều buổi tối học tập để làm cho một ứng dụng đầy đủ, và sau đó chuyển sang Django. Việc đầu tư thời gian là nhỏ, nó sẽ cho bạn sự chuẩn bị tuyệt vời cho Django, và bạn sẽ học được về một khuôn khổ vi mô lớn. Đôi khi tôi thử nghiệm các dự án trong Flask trước khi xây dựng chúng ở Django.

Django, trong khi đầy đủ tính năng hơn, có cấu trúc và quy ước xác định để nó có thể hơi bí ẩn hơn cho người mới bắt đầu để tìm hiểu mọi thứ phù hợp với nhau như thế nào. Nếu bạn mới phát triển web, bạn có thể có một số nhầm lẫn về việc bạn đang làm điều gì đó bởi vì một quy ước phát triển web hoặc cho dù bạn đang làm điều đó bởi vì một phần của các công ước/tổ chức Django.

Nếu bạn có thể dành một vài ngày hoặc một tuần chơi với Flask trước khi chuyển sang học Django (mục tiêu ban đầu của bạn), tôi nghĩ rằng nó cũng xứng đáng với thời gian. Cả hai đều là các khung công tác tuyệt vời. Chào mừng bạn đến với thế giới phát triển web.

+4

Hmmm, tôi đã bắt đầu trong django. Thực hiện một số trang động và tĩnh, tôi bắt đầu nắm bắt tốt những thứ trong đó. Vì vậy, bạn có một liên kết giải thích những gì xảy ra dưới mui xe, thay vì học bình? Bởi vì bạn là một người thuyết phục thuyết phục: D –

+1

Tôi không có một bản tóm tắt dưới mui xe của Django, thật không may. Một điều mà các nhà phát triển mới thường nhầm lẫn là cách định tuyến hoạt động. Đây là mô tả cho định tuyến Django https://docs.djangoproject.com/en/dev/topics/http/urls/ và đây là mô tả cho định tuyến Flask http://flask.pocoo.org/docs/quickstart/#routing Có vẻ như bạn đã có một khởi đầu tốt trên Django rồi. Kiểm tra Hướng dẫn Django nếu bạn chưa có - nó khá phong nha. – dghubble

+3

@ dghubble Cảm ơn bạn rất nhiều vì câu trả lời hợp lý, đầy đủ. Tôi biết câu hỏi này đã được đóng lại là "không xây dựng", nhưng tôi phải nói với bạn rằng câu trả lời của bạn đã giúp tôi tìm ra Flask là gì và cách tôi có thể tiếp cận những thứ chuyển sang Python như ngôn ngữ webdev chính của tôi. Bạn đá! :-) –

6

Vì vậy, tôi không chắc chắn bạn đang so sánh Táo với Pommes tại đây. Tôi là một người dùng Django giàu kinh nghiệm và mới bắt đầu sử dụng Flask. Triết lý của Django từ rất sớm là nó phải là một pin bao gồm khuôn khổ, trong khi Flask là rất nhiều cách tiếp cận pin của chính bạn. Câu hỏi đặt ra là, bạn có muốn có một khuôn khổ mà tất cả những gì bạn cần trong thời gian học cách xây dựng trang web phong phú hay bạn muốn một khung công tác rất cơ bản và bạn thoải mái cân nhắc các tùy chọn cho tất cả các loại hạt và bu lông?

Ngoài ra, bạn tuyên bố rằng bạn đang tìm kiếm sự nghiệp phát triển web và hộp công cụ đi kèm với nó. Tôi thấy rằng ngay cả ngày nay các nhà tuyển dụng thường có những điều tốt nhất 'chỉ nghe nói về' Django. Thuyết phục một người nào đó sử dụng bạn và khung công việc của bạn là Flask có thể là một việc bán thậm chí còn khó khăn hơn.

2cents của tôi sẽ bị kẹt vào Django và xây dựng một số trang web đơn giản (Thăm dò ý kiến, Blog, v.v.) khi bạn cảm thấy thoải mái, quay lại và xây dựng lại bằng Flask. Cuối cùng, đó là tất cả Python.

25

Tôi đã có cùng một tình huống khi muốn thử Python để phát triển web :) Và tôi đã đi với Django. Trong khi đôi khi rất khó để hiểu tất cả các phép thuật đằng sau của Django, nó là tốt đẹp và đầy đủ những điều rất hữu ích. Nếu bạn thích ORMs, sau đó Django có một tốt. Nó cũng có bảng quản trị. Quan điểm chung cũng là điều tốt :) Về cơ bản nó là khung rất đẹp và khi bạn chạy ứng dụng trực tuyến đầu tiên của bạn, phát triển ứng dụng thứ hai sẽ vui vẻ :)

Nhưng sau một thời gian, tôi tìm thấy Flask. Và bây giờ tôi đang làm việc với nó. Tại sao? Bởi vì đôi khi tôi chỉ muốn xây dựng và tạo ra những thứ của bản thân mình, tôi muốn tìm hiểu và biết mọi thứ đang hoạt động như thế nào. Bình là điều tối giản và bạn sẽ tạo ra tất cả "ma thuật" Django đã có. Tôi vui vì tôi bắt đầu với Django, chỉ vì bây giờ tôi có thể sử dụng một số nguyên tắc từ đó trong các ứng dụng Flask của tôi. Flask có ít người dùng hơn, nhưng cho đến nay nó không phải là một vấn đề lớn đối với tôi. Nó cũng có phần mở rộng đã giúp bạn với một số công cụ. Và trong khi ORM không được xây dựng sâu sắc như ở Django, tôi thích điều đó, bởi vì tôi ghét ORMs (gọi tôi là lỗi thời, nhưng tôi vẫn nghĩ rằng SQL thô có hiệu quả hơn nhiều trong trường hợp của tôi).

Điều tốt nhất là thử cả hai và chọn tùy chọn bạn thích. Những người có kinh nghiệm có thể đưa ra lời khuyên rằng một người tốt hơn người khác, nhưng tôi sẽ nói - cố gắng! Nếu bạn thấy rằng bạn đang phá vỡ chân với Django, có lẽ Flask sẽ giúp đỡ. Hay cách khác.

Hãy vui vẻ!

+0

Bảng điều khiển quản trị Django có lợi thế (CRUD ra khỏi hộp) và nhược điểm ("ẩn" mã). Tôi nghĩ Flask và Django là tuyệt vời, vì vậy tôi đồng ý với Ignas. – Timo

Các vấn đề liên quan