30/12/15

7 lý do sử dụng Yii framework thay vì Codeigniter Zend CakePHP

Đã một thời gian dài không trở lại lập trình, cảm giác gõ từng dòng code, lụi cụi từng đêm làm mà tinh thần luôn hừng hực, luôn cảm giác làm gì đó cho chính mình.

Giành mất một thời gian dài chỉ để đọc và tìm hiểu các web framework tốt nhất, phổ biến nhất với mục đích là lập trình web.

Lúc đầu vòng vo tí:

Lời khuyên đa phần các guru đã làm lâu năm là sử dụng Spring (Java) để thực hiện, powerful. Nếu bác nào có thời gian thì đầu tư cái này, lợi ích lâu dài, bộ Spring có rất nhiều module kinh khủng. Hơn nữa Java là một nền tảng tốt.

Django là option thứ 2, thằng này sử dụng Python nên bạn nào biết về python một xíu sẽ tốt hơn. Với điểm mạnh là tốc độ xử lý nó tốt hơn PHP. Nó cũng là 1 trong 3 ngôn ngữ chính Google sử dụng (Java, Python, C++) Ah, mà tất nhiên mấy cái như MVC bọn này hỗ trợ tốt.

Phân vân một thời gian Java thì bỏ 1 thời gian dài và cơ hội làm nó cũng không nhiều theo môi trường cá nhân tôi, python thì thử học thấy cú pháp rất tuyệt nhưng thời gian không cho phép. PHP thì mình làm gần đây nhất, nên việc lập trình PHP thân quen và nói thật học PHP rất dễ (tuy nhiên nó có nhược điểm không phải là ngôn ngữ xử lý, nó thể hiện thì ok)

Rồi đó là lý do lựa chọn 1 framework nào tốt cho học PHP là điều tôi băn khoăn hiện giờ (Tất nhiên nếu tuyệt nhất thì học Spring hoặc Django như các tiền bối chỉ là hay nhất, do hiện tại thời gian và nguồn lực tôi không có nhiều cho nghiên cứu nên nhắm mắt đưa chân quay về PHP thôi)

Vậy bây giờ chúng ta có thể liệt kê nhiều framework cho PHP như là: Codeigniter, CakePHP, Laravel, Yii, Zend, Symfony… Đó, tôi tin là bạn cũng phân vân những thằng này.

Theo thống kê 6 php framework phổ biến nhất năm 2013 có kết quả như sau:


Số 1 là CI, CakePHP số 2, yii số 3, symfony số 4, zend số 5.

=> Phân vân giữa CI, CakePHP và Yii. Symfony theo định vị là cho các project cực lớn, độ phức tạp, cái này mình không cần => loại. Zend cũng loại ở ngay vòng 1.

Nguồn: http://webcoderpro.com/blog/top-6-most-popular-php-frameworks-of-2013/

2/ Theo nguồn ở freelancer cơ hội nghề nghiệp các FW này thì:


CodeIgniter: 268 results (217 from oDesk + 51 from eLance)
Zend Framework: 162 (118 + 44)
CakePHP: 152 (104 + 48)
Yii: 106 (79 + 27)
Symfony: 64 (42 + 22)
Laravel: 33 (25 + 8)
Nói sơ thêm 1 xíu về CakePHP, CakePHP rất tốt, hỗ trợ các plugins nên nhìn chung nó power, được ví dạng như Ruby on Rails, nên cũng có nhiều coder chuộng nó. Nhưng số lượng người dùng thì CI vẫn là phổ biến nhất.

Yii là một hiện tượng của năm 2012 khi được xem là hiện tượng trong làng lập trình PHP.

Vậy tôi nhìn chung chỉ còn phân vân giữa CI và Yii.

Vậy tại sao cuối cùng tôi lựa chọn Yii.

CI và Yii đều tốt, hỗ trợ các project lớn. CI hỗ trợ MVC ở mức độ đơn giản, còn Yii hỗ trợ full thường áp dụng cho các rapid web application development.

CI sẽ dễ dàng tiếp cận cho beginner hơn với các MVC ở mức độ cơ bản, được ví là super-easy-to-learn. Bạn có thể lên youtube xem rất nhiều tutorial về CI. Yii thì khác một chút, bạn cần có kiến thức và kinh nghiệm về MVC. Lời khuyên của các developer là bạn nên thử kiểm thử các tính năng cơ bản manual bằng php thuần, sau đó xem Yii thực hiện điều đó thế nào. Và cần đọc kỹ manual, document, wiki của yii.

Một điều lý giải sao mà Yii được tìm kiếm trên google nhiều đến thế cho thấy lượng tài liệu yii vẫn còn yếu khiến các dev cần tìm hiểu nhiều hơn. Bạn sẽ là một cái khó khăn nếu muốn ăn nhanh. Mì ăn liền thì có lẽ CI tốt hơn.

7 điểm tốt hơn của Yii là:

  1. Gii code generator: Gii có thể sinh ra các template, model, control, viewer, forms. Đó là CRUD (Create, Read, Update, Delete). Bạn chỉ cần cung cấp DB Table Name và yii sẽ sinh ra model và tất cả các thuộc tính => quá tốt phải không nào. Đối với CI bạn cần validate mỗi thao tác. Và sự khác biệt là CI hướng FORM, còn Yii hướng DATA.
  2. Form handling:
  3. HTML Grid component: Cho phép thể hiện dữ liệu ở dạng bảng tự động sắp xếp, phân trang, coloring, dòng chẵn lẻ…
  4. jQuery integration: tích hợp sẵn jquery như là date-picker, auto-data-input box…
  5. Translations: Yii cho phép tạo các trang web mà đa ngôn ngữ nhanh chóng, với CI bạn cần tạo manual.
  6. DB relations:
  7. Consistency: Hỗ trợ làm việc nhóm cùng project. Các dev có thể dễ dàng tạo code và dev khác dễ dàng tận dụng lại.
- See more at: http://vneconomics.com/7-ly-su-dung-yii-framework-thay-vi-codeigniter-zend-cakephp/#sthash.dzJwCwZY.dpuf

Nguồn: http://vneconomics.com/

0 nhận xét: