2009-10-06 25 views
12

Tôi sắp bắt đầu phát triển một trang web mới và đang nghiên cứu về các Khung PHP. Tôi không phải là một nhà phát triển PHP nâng cao, nhưng tôi đã phát triển các trang web và ứng dụng (trong asp.net) trong một vài năm nay.Tôi có lựa chọn đúng trong việc chọn Yii làm Khung PHP của tôi không?

Trang web của tôi chủ yếu dựa trên AJAX (sử dụng jQuery) và thực hiện nhiều cuộc gọi đến các dịch vụ web. Sau một số nghiên cứu, đây là những gì tôi đã đưa ra:

CakePHP: Ban đầu bắt đầu phát triển trong điều này, nhưng thấy nó quá phức tạp. Thực tế là nó buộc bạn phải sử dụng và tìm hiểu tất cả những thứ mới này chỉ để sử dụng nó là một chút khó khăn, vì vậy tôi đặt nó sang một bên trong thời gian này.

Zend: Hiệu suất của khung làm cho tôi hơi hoài nghi, nhưng tôi nghe nói nó có hỗ trợ tuyệt vời cho việc tạo ra các dịch vụ web. Tôi cũng nghe nói nó hơi phức tạp một chút.

CodeIgniter: Không có lý do thực sự nào để không sử dụng tính năng này. Dựa trên những gì tôi đã đọc CodeIgniter và Yii là rất giống nhau, nhưng Yii là một chút nhanh hơn và không có mã không cần thiết cho PHP4 (kể từ khi tôi có kế hoạch phát triển độc quyền trong PHP5).

Theo như Yii, những điều duy nhất khiến tôi sợ hãi về nó là nó mới hơn các khung công tác khác để nó có một cộng đồng nhỏ hơn. Nó cũng dường như không có một tấn hỗ trợ dịch vụ web (chỉ SOAP, từ sự hiểu biết của tôi) như trái ngược với Zend.

Vì vậy, câu hỏi của tôi đi xuống:

  1. những điều này có nên lo lắng cho tôi? (không lớn như một cộng đồng, hỗ trợ dịch vụ web kém)
  2. Tôi có nên xem xét điều gì khác không?
  3. Sự lựa chọn của tôi về Yii trên các khung công tác khác có phù hợp với một ứng dụng web dựa trên AJAX chủ yếu không?

Bara

+0

Đối với bất kỳ ai tự hỏi nên chọn khung nào, hãy đọc và xem Chú Bob: http://stackoverflow.com/a/18853233/1614973 –

Trả lời

11

Bạn cần ghi lại các yêu cầu của dự án và lý do đằng sau lý do tại sao một khung công tác được yêu cầu ngay từ đầu. Sau đó, xem xét tương lai của trang web và chức năng liên quan. Sau đó chọn khung công tác cung cấp chức năng mạnh nhất để đáp ứng các yêu cầu đó. Đừng treo lên trên ý kiến. Đọc tài liệu và xác định các thành phần bạn muốn sử dụng, thu hẹp tìm kiếm của bạn từ đó và sau đó thử nghiệm với tất cả.

Thực hiện trách nhiệm giải trình của bạn sẽ trả hết không chỉ cho bạn mà còn cho khách hàng của bạn đang thanh toán hóa đơn.

Tóm lại:

  1. Xác định thành phần cần thiết của trang web.
  2. Khung nghiên cứu và xác định các kết quả phù hợp với yêu cầu của bạn.
  3. Thử nghiệm và tìm hiểu xem cái nào hoạt động tốt nhất cho công việc này.

Edit/Opinion bổ sung:

Nếu đây chỉ là một dự án phát triển cá nhân, sau đó tôi sẽ xem xét sử dụng những gì đang xảy nhìn là tốt nhất về sơ yếu lý lịch của bạn. Zend có tên lớn nhất và một sản phẩm vững chắc, vì vậy họ giành chiến thắng theo mặc định vì nó cũ "không thể bị sa thải đối với tranh luận của IBM". Một số người chơi lớn đang sử dụng Symphony, nhưng đó là một đường cong học tập lớn. Yii, Cake, Kohana tất cả đều có ưu và nhược điểm và tuyệt vời theo cách riêng của họ.

+0

câu trả lời hay, tốt hơn nhiều so với tôi :) –

+0

bạn tử tế. :-) –

+0

Không có khách hàng, đây là dự án chủ yếu cho bản thân tôi để tôi có thể học hỏi, vui chơi và có thể sử dụng trong tương lai. Trang web thực sự sẽ chỉ yêu cầu một trang và hầu hết các tương tác sẽ kéo nội dung tùy thuộc vào hành động. Tôi có thể tải thêm từ trang khác. Như bạn có thể thấy từ bài viết đầu tiên của tôi, tôi DID nghiên cứu một số khuôn khổ, tôi chỉ đơn giản là hỏi nếu tôi đã lựa chọn đúng hoặc nếu tôi bỏ lỡ bất cứ điều gì. CakePHP thực sự là người duy nhất tôi thực sự cố gắng chuyên sâu, và tôi không thích nó. Một điều khác tôi muốn chỉ ra là tôi không thực sự muốn làm bất kỳ công cụ dòng lệnh nào. – Bara

0

Khá nhiều mỗi khuôn khổ web hiện đại đã hỗ trợ tuyệt vời cho XHR/Ajax. Nó thực sự chỉ thích hợp với sở thích cá nhân của bạn dựa trên kiến ​​thức hiện tại của bạn về ngôn ngữ trong đó liên quan đến khuôn khổ bạn sẽ thích nhất.

Tôi cũng khuyên Kohana vì nó khá ổn định, trưởng thành và có hỗ trợ tuyệt vời.

Bạn sẽ không thực sự biết cho đến khi bạn chơi xung quanh với khuôn khổ, tôi đề nghị nhúng ngón chân của bạn trong một vài người trong số họ.

4

Là nhà phát triển chính của Yii, tôi có thể không hoàn toàn công bằng (nhưng muốn!), Tuy nhiên, vì tính khách quan tôi nên đề cập đến, tôi đã thử cả Zend và CodeIgniter trước đây.

Trong các bản phát hành trước của Yii, benchmark tests rất ấn tượng và vì lãnh đạo không muốn có khung này cồng kềnh, không phải tất cả yêu cầu tính năng đều được triển khai. Điều này nghe có vẻ hơi thất vọng, nhưng nếu bạn đủ kinh nghiệm trong lập trình và thiết kế, bạn đã nhận thức được tiềm năng của nó.

Mặt khác, Yii vẫn hỗ trợ rất nhiều giải pháp thực tế và thực tế trong cuộc sống. Đây là một phần chủ quan, nhưng nếu bạn nhìn vào những lớp học thường được sử dụng, bạn sẽ tìm ra sức mạnh của họ trong các vấn đề thực sự.

Tài liệu (đặc biệt là API) được điều chỉnh nghiêm ngặt và giống như đặc điểm kỹ thuật, bạn có thể thấy lạ và lạnh trong những giờ đầu tiên, nhưng về lâu dài, nó chắc chắn sẽ giúp bạn dễ dàng hơn. docbuddies, mà muốn kết bạn trong các chữ ký phương thức).

Tất cả những đóng góp này vào thời gian phát triển của bạn. Mọi người có thể tạo ra các ứng dụng nghiêm túc trong vòng vài tuần!

+0

Hỗ trợ của bên thứ 3 cho Yii, cụ thể như thế nào cho chương trình bổ trợ/mô-đun? – Bara

+0

Hai nhà phát triển cốt lõi (bao gồm cả nhà lãnh đạo) cũng làm việc trên một dự án gọi là Zii, một kho lưu trữ mở rộng chính thức cho Yii. Nó không phải là rất trưởng thành cho đến nay, nhưng có gần một trăm phần mở rộng người dùng đóng góp. Theo thiết kế, kiến ​​trúc cho phép bạn cắm các thư viện khác (như các lớp Zend) rất dễ dàng. – pestaa

5

Tôi đã từng là một nhà phát triển của Symfony, CakePHP, Zend framework, Kohana và Code Igniter, nhưng khoảng 1 năm trước, tôi phát hiện ra Yii, lần đầu tiên (và thứ hai và thứ ba) Ấn tượng của tôi là tuyệt vời:

  • Dễ học
  • dễ dàng để thực hiện
  • Dễ dàng sử dụng và mở rộng
  • rất, rất, rất nhanh
  • Hỗ trợ nhiều ngôn ngữ
  • Hỗ trợ nhiều phần mềm, máy chủ và máy gia tốc
  • Hỗ trợ MySQL, PostgreSQL, SQLite và Oracle ... Hỗ trợ Firebird là phiên bản beta.
  • Nhiều tính năng khác mà tôi không nhớ ngay bây giờ.

Tải xuống, sử dụng và triển khai dự án của bạn với nó, ... bạn sẽ ngạc nhiên.

Bây giờ tôi đặt câu hỏi của bạn:

  1. những điều này có nên lo lắng cho tôi? Cộng đồng không phải là nhỏ như nó có vẻ, Hiện nay, Yii có một cộng đồng năng động. Chúng tôi không phải là một vài.
  2. Tôi có nên xem xét điều gì khác không? Bạn nên xem xét các nhu cầu của mình: Cơ sở dữ liệu bạn sẽ sử dụng, máy chủ Web và những thứ khác, như Randy nói.
  3. Sự lựa chọn của tôi về Yii trên các khung công tác khác có phù hợp với một ứng dụng web dựa trên AJAX chủ yếu không? Vâng, đúng vậy.
+0

Tôi không nghĩ rằng bạn đã dành đủ thời gian để thực sự tìm hiểu các khung công tác. Vì vậy, nhiều khuôn khổ đã học được rất ít thời gian. –

+1

Tôi đã học được những khuôn khổ đó một vài năm trước, tuy nhiên, kể từ khi tôi học YiiFramework tôi không làm việc với họ. Kinh nghiệm của tôi là: Kohana (6 tháng), CodeIgniter (2y), ZF (1y), CakePHP (1y), Symfony (6m) – robregonm

+0

Tôi đồng ý rằng Yii rất dễ học. Điều này cực kỳ quan trọng đối với tôi. Nó không chỉ giúp các nhà phát triển khác dễ dàng hơn mà còn cho phép bạn bắt đầu ngay lập tức với việc phát triển ứng dụng của bạn thay vì dành nhiều ngày để học cách làm điều gì đó mà mọi ứng dụng sẽ cần. –

4

Trong 1 1/2 năm sử dụng Yii, tôi có khoảng 15 trang web trực tuyến, tất cả hoạt động hoàn hảo, nhanh chóng và Yii rất dễ dàng để tạo chúng. Và hầu hết các trang web không tầm thường, chúng là những trang web thực tế lớn. Tôi có thể cung cấp liên kết nếu được yêu cầu.

Vì vậy, tôi có thể đảm bảo với bạn rằng bằng cách chọn Yii, bạn chắc chắn sẽ có thể thực hiện bất kỳ loại trang web nào bạn muốn và sẽ nhanh chóng và an toàn.

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