2010-08-27 36 views
5

Nhóm của tôi tại nơi làm việc sẽ bắt đầu làm việc trên một trang web có số lượng logic kinh doanh trung bình và một lượng lớn cơ sở dữ liệu. Sớm. Chúng ta phải chọn một ngôn ngữ và một khuôn khổ để xây dựng nó, nhưng chúng tôi không thực sự chắc chắn bắt đầu từ đâu. Có nghĩa là một lựa chọn zillion. Tất cả những gì chúng ta cần là cái gì đó móc vào cơ sở dữ liệu, cái gì đó cho phép phát triển nhanh chóng và tạo mẫu, và cái gì đó có quy mô tốt.Các khung công tác web lớn hiện nay là gì?

Ai là 5 người chơi hàng đầu trong lĩnh vực này ngày hôm nay?

+2

Bạn nên làm điều này CW – NullUserException

+0

Done và thực hiện, thưa ông! –

Trả lời

6

Năm thứ rất phổ biến, không theo thứ tự đặc biệt, "mỗi ngôn ngữ": Đường ray (Ruby), Django (Python), CakePHP (PHP), ASP.NET (tất cả ngôn ngữ Net), Struts 2 (Java) . Tôi chắc rằng có nhiều khung công tác khác cho mỗi ngôn ngữ này (tất nhiên, cũng như nhiều ngôn ngữ ;-), nhưng tất cả các ngôn ngữ này đều có mức độ phổ biến cao hiện nay, nếu đó là sự cân nhắc số một của bạn.

+0

Bạn không có nghĩa là ASP.NET MVC? – quantumSoup

+0

Tên của khung công tác là 'ASP.NET' - cfr. Trang web và nội dung http://www.asp.net/get-started của Microsoft - và đó là những gì tôi thấy rất phổ biến; phần 'MVC' là một trong những khía cạnh của nó. –

1

Điều gì về ZendFramework? Tôi nghĩ rằng đây là Framework PHP lớn nhất và có tất cả tùy chọn được đề cập trong câu hỏi :)

+0

Chỉ vì ZendFramework có 'khuôn khổ' trong nó, nó không làm cho nó trở thành một khuôn khổ. Nó chủ yếu là một thư viện thành phần khổng lồ. Ngoài ra còn có một khung thực tế được bao gồm, nhưng nó là một trong những khung công tác nhỏ nhất ** **. – back2dos

3

Rails (Ruby), Cake (PHP), Django (Python) và Grails (Groovy) là khá giống nhau và có các tính năng bạn đã đề cập. Mặc dù chúng khá nặng.

tôi thích khung nhẹ hơn mà làm ít hơn cho bạn, bởi vì rất nhiều các khuôn khổ như làm những việc theo cách của họ và nếu bạn muốn làm điều đó của bạn bằng cách nào, bạn sẽ phải vật lộn với khuôn khổ. Sau đó, nếu bạn đang làm nhiều công việc hơn bình thường, tại sao lại bận tâm sử dụng một khung công tác? Nhưng để mỗi riêng của mình.

Xem danh sách ở đây: http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

0

Zend Framework + Học thuyết ORM

đây là những gì tôi đang sử dụng bây giờ. nó có thể là một chút khó khăn để tìm hiểu ở đầu. nhưng tôi nghĩ nó đáng giá. Zend Framework 2 sắp ra mắt (1st Dev Milestone of ZF2 is out). và nó hỗ trợ các không gian tên PHP 5.3 "đúng". tôi sử dụng Zend Framework 1.10 + Doctrine 2 hiện tại. tôi thực sự thích cách các thành phần của nó có thể được tùy chỉnh dễ dàng để phù hợp với nhu cầu của bạn.

nó có nhiều lớp mà tôi sử dụng (có thể không có sẵn trong các khung công tác khác). ví dụ. các lớp để điều hướng, phân trang, xem trợ giúp, (PHPUnit) kiểm thử đơn vị thông qua Zend_Test, v.v. đăng nhập ngay cả FireBug/FirePHP bằng Zend_Log.

Phát triển nhanh & Prototyping nếu bạn có nghĩa là giàn giáo, có Zend_Tool, một ứng dụng CLI cho phép bạn tạo các thành phần như bộ điều khiển, hành động, mô hình, vv thông qua lệnh CLI

tôi không chắc chắn về khả năng mở rộng. nhưng tôi nghe nói. NET được sử dụng phổ biến trong doanh nghiệp vì vậy nó phải được mở rộng hơn. nhưng tôi không chắc chắn.

nếu bạn chọn tùy chọn này, một số tài nguyên học tập tuyệt vời là:

ASP.NET MVC 2

tôi chưa sử dụng ASP.NET MVC để tạo bất kỳ ứng dụng thực nào. nhưng tôi đang xem sự phát triển của nó. MVC 3 đang di chuyển lên ... link & link & link ... có vẻ tốt với việc bổ sung công cụ xem dao cạo (thứ gì đó của nó giống như một động cơ có trọng lượng nhẹ). C# có thể được sử dụng và tôi tìm thấy nó là một ngôn ngữ rất mạnh mẽ, với Entity Framework (ORM), lambdas, LINQ, vv ..

tôi nghĩ rằng ASP.NET Web Forms là rất tốt cho prototying nhưng không tốt với mã lộn xộn của nó (theo ý kiến ​​của tôi) và tôi không nghĩ rằng nó tốt cho khả năng mở rộng

nguồn lực cho các tùy chọn này:

0

Flex (ActionScript) + BlazeDS (Java). Đây không phải là Khung, nhưng sự kết hợp này chỉ là một tùy chọn khác để phát triển một ứng dụng web. Bạn có thể chọn một khung công tác ở phía máy khách (ActionScript) và cho máy chủ (Java). Flex với Flash Builder là tốt cho phát triển nhanh chóng và prototyping và Java cho khả năng mở rộng.

Khung ActionScript điển hình là Cairngorm hoặc PureMVC. Về phía Java có rất nhiều khung công tác nổi tiếng. Một sự kết hợp thông thường là Flex/BlazeDS/Hibernate:

0

Trừ khi bạn có ý định tạo ra một số tiên tiến, không bao giờ nhìn thấy-trước khi loại ứng dụng, tôi tin rằng bạn nên dính với ngôn ngữ bạn biết (giả sử nó đủ tốt hoặc có hệ sinh thái đủ lớn để bù đắp các sai sót của nó (đó là trường hợp của nhiều ngôn ngữ phổ biến)). Trong trường hợp của bạn, nó có vẻ là Java (tôi suy ra rằng từ các hoạt động stackoverlow của bạn;)).

Khi nói đến các khuôn khổ web Java, bạn sẽ tìm thấy, có rất nhiều tương tự/câu hỏi liên quan trên stackoverflow: https://stackoverflow.com/search?q=java+web+framework

Trên một lưu ý một chút liên quan, tôi là một fan hâm mộ lớn và người sử dụng của haXe (vì lý do đó 'd khá ra khỏi phạm vi của câu hỏi này). Nếu bạn quan tâm, thì haXigniter có thể là một khuôn khổ phù hợp để thực hiện.

PHP đã được đề cập một số lần. CakePHP là rất hip, ZendFramework được sử dụng rộng rãi (mặc dù nhiều hơn của một thư viện thành phần tất cả các mục đích), nhưng cá nhân tôi tin rằng symfony, flow3codeigniter để được thuận lợi hơn.

Greetz
back2dos

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