2012-03-29 21 views
25

Tôi biết điều này đã được thực hiện nhiều lần trước đây (một số bài viết thực sự cũ nên sẽ rất tốt khi nhận phản hồi dựa trên trạng thái chơi hiện tại), nhưng tôi muốn lời khuyên của mọi người về khuôn khổ nào để sử dụng cho một ứng dụng mới mà chúng tôi sắp bắt đầu phát triển. Mặc dù chúng tôi đã thiết lập mọi thứ theo ZEND nhưng bây giờ nhà đầu tư của khách hàng cần biết lý do chúng tôi chọn Zend.Chọn Zend OR Symfony? Và tại sao?

Nó đã được chọn trên cơ sở, trong số 5 nhà phát triển 2 đã quen thuộc với Zend. Bây giờ khách hàng muốn có một lời giải thích chi tiết tại sao chúng tôi không chọn Symfony trên Zend. Lý do của chúng tôi là không đủ để hỗ trợ lựa chọn của chúng tôi;) vì vậy giúp tôi chọn khung nào có lợi thế hơn so với những lý do khác để chúng ta có thể trình bày những lý do vững chắc (cho zend), và nếu symfony có nhiều + ves thì tại sao chúng ta chọn nó (symfony)) HIỆN NAY. Chúng tôi có thể thay đổi khung của chúng tôi ngay bây giờ.

Tôi đoán câu trả lời đúng là 'phụ thuộc vào những gì bạn đang ứng dụng và bạn yêu cầu riêng/preferences' vì vậy đây là một mô tả ngắn gọn về các ứng dụng và một số yêu cầu riêng của chúng tôi:

Các ứng dụng:

Hệ thống giao dịch tài chính trích xuất dữ liệu giao dịch trực tiếp được thực hiện trên hàng nghìn/triệu POS trên toàn thế giới.

vài điều quan trọng cho dự án:

  1. Cơ sở dữ liệu đã được cung cấp cho chúng tôi & nó là một ORACLE cơ sở dữ liệu.

  2. Cơ sở dữ liệu Oracle có hơn 86 bảng. Một số bảng có hơn 60000 hàng dữ liệu hiện tại & một số trong số chúng cũng có 79 cột.

Yêu cầu của chúng tôi:

  • hỗ trợ tốt cho jQuery
  • cho phép đầu ra dễ dàng các loại khác nhau của đầu ra (HTML, XML, JSON)
  • phát triển giao diện người dùng dễ dàng bằng cách sử dụng in-bulit chức năng/phương pháp.
  • ACL
  • phát triển
  • khá nhanh (như mọi khi, lịch trình là chặt chẽ)
  • sạch đẹp lớp logic kinh doanh với quyền tự do kiến ​​trúc sư giải pháp như chúng ta muốn.
  • một khuôn khổ giúp bạn hoàn thành công việc nhanh chóng nhưng không hạn chế quá nhiều.
  • nền tảng tốt để thực hiện các dự án khác.

Bất kỳ phản hồi nào từ những người đã sử dụng các khung công tác này (đặc biệt là những người đã sử dụng cả hai) sẽ được đánh giá cao.

Zend không phải là bắt buộc, nhưng nếu thay đổi thành symfony, chúng tôi cần hỗ trợ cho điều đó. Vì vậy, hỗ trợ câu trả lời của bạn với lý do, liên kết.

Cảm ơn bạn.

+2

Khách hàng của bạn nên tin tưởng rằng nhóm của bạn sẽ làm việc tốt hơn với khung lựa chọn của bạn, thay vì quyết định lựa chọn công nghệ và buộc bạn phải học cái gì đó mới đơn giản chỉ vì một số nhận thức về những gì 'tốt nhất'. –

+0

@Tim: Thực ra anh ta là một con sư tử bị thương, p. Chúng tôi đã biết rằng anh ấy đã gặp phải một số vấn đề và anh ấy đã biết rằng có một số vấn đề với zend & oracle như một gói. Chúng tôi liệt kê các điểm để thuyết phục anh ấy, vì vậy hãy tìm kiếm thêm nhiều điểm và hỗ trợ :) –

+0

Hoặc là một trong những khung công tác này có khả năng thực hiện những gì bạn cần. Symfony là hiện đại hơn, với sự hỗ trợ không gian tên, tôi sẽ đi với Symfony –

Trả lời

11

Tại sao Zend

Trước hết, tôi đã có kinh nghiệm tốt của tôi qua làm việc với Zend Framework. Đây là khung ổn định nhất trên tất cả các khung công tác php RAD. Zend cung cấp cho bạn lớp dựng sẵn jQuery là Trình trợ giúp giúp bạn dễ dàng sử dụng jQuery dễ dàng nhất. Mặc dù, nó cung cấp cách sử dụng tốt nhất với Dojo. Lớp ZendX_jQuery giúp bạn dễ dàng sử dụng jQuery bất cứ khi nào bạn muốn. Và, như bạn đã biết, jQuery cho phép các cuộc gọi ajax theo số $.ajax*() do đó, nó sẽ là lựa chọn hoàn hảo cho việc thực hiện kịch bản lệnh phía máy khách.

Tuy nhiên, tôi cũng sẽ tập trung vào quá trình zend vì bạn có thể thực hiện việc viết API cho hầu hết các giao dịch phổ biến trên toàn bộ trang web. Vì, ZEND cung cấp các lớp học Using AjaxContext with Zend_Rest_ControllerZend_Rest_Route cho mục đích này chứa ngữ cảnh Ajax.

Zend có hệ thống bộ nhớ cache tốt nhất. Mặc dù, nó cung cấp chỉ mục tìm kiếm hoàn hảo bằng cách sử dụng lucene. Thật dễ dàng và ổn định để tạo thành phần có thể sử dụng lại của riêng bạn trong thư viện lớp học của bạn. CLI làm cho cấu trúc của bạn thú vị nên không cần phải làm mọi thứ theo cách thủ công.

Không có vấn đề về quản lý mẫu. Hành động tải lượt xem của nó theo tiền tố. Chế độ xem không giới hạn bạn để có bất kỳ công cụ tạo khuôn mẫu nào. Tuy nhiên, bạn cũng có thể trải qua điều đó.

Khả năng bố cục làm cho nó cực kỳ hoàn hảo để tạo bố cục chung và năng động dựa trên các bộ điều khiển khác nhau dựa trên ACL. Và bởi ACL, tôi cũng nhận được rằng Zend_Acl cung cấp giải pháp hoàn chỉnh để triển khai các dịch vụ ACL. ACL là ofcourse điều bắt buộc trong ứng dụng của bạn.

Zend cũng cung cấp cho bạn khả năng có cấu trúc mô-đun của trang web của bạn. Chỉ cần cắm và phát đoạn mã của bạn.

Tại sao Symfony

Tôi chưa bao giờ đi quá nhiều sâu trong symfony. Tuy nhiên, tôi đã trải qua nó trước một dự án của tôi. Nhìn chung, khi so sánh, zend có cấu trúc thư mục khá tốt rồi symfony. Symfony cung cấp cho bạn khả năng đoạn mã của bạn nhưng những đoạn mã đó được gọi là gói ở đây. Nó có một số phong cách templating mà bạn cần phải thực hiện trong quan điểm của bạn. Nó không tìm thấy bất kỳ thư viện lõi dựng sẵn nào để thực thi jQuery động. Có thể, tôi sẽ sai ở đây nhưng tôi chưa biết về nó.

Tôi cũng có tình huống tương tự khi tôi cần so sánh Zend & Symfony. Nhưng, sau khi xem xét tất cả các khía cạnh, tôi quyết định đi qua Zend.

+0

điều này có vẻ là câu trả lời yêu thích ajax. Điều gì về sự phát triển không phải là ajax? Symfony có vẻ dễ dàng hơn và nhanh hơn để tạo các ứng dụng? – vladkras