Zend Framework – Hoàn tất một “cuộc cách mạng” ?

Bạn vào Google, gõ từ khóa “framework”, kết quả thứ nhì (sau .NET Framework) là một link đến địa chỉ http://framework.zend.com. Zend Framework là con bài chiến lược của Zend, đã và đang trở thành tâm điểm sự chú ý của các PHPer. Zend Framework (ZF) hứa hẹn sẽ hoàn tất “cuộc cách mạng” trong việc phát triển ứng dụng PHP cũng như khẳng định vị trí của PHP đối với các công nghệ web khác! Tại sao?

Vai trò của Zend Framework?

Cách đây một năm, khi tôi mới bắt đầu với PHP (cũng là ngôn ngữ lập trình đầu tiên của tôi) tôi có đọc một bài viết của anh pcdinh tại một diễn đàn nào đó mà tôi cũng không nhớ. Trong bài viết đó có đoạn rằng “Andi Gutmans đã nói, điều mà PHP đang thiếu là một framework chuẩn“. Thật sự lúc đó tôi chưa hiểu được framework là cái gì, và cũng không cảm nhận được sự “thiếu thốn” đó. Quanh tôi lúc đó là các ứng dụng “thần thánh” như vBulletin Board, Joomla, NukeViet… và tôi bị gói gọn trong cái thế giới đó. Đến khi tôi nghe đến cái tên “Ruby on Rails” (RoR)!

Thật sự thì sự bùng nổ của RoR tác động rất lớn đến PHP, nó cho thấy rằng PHP quá lộn xộn và “nghiệp dư”. Sự lợi hại cũng như kiến trúc đẹp đẽ của RoR thúc đẩy cộng đồng PHP cho ra đời những PHPonTrax, symfony, CakePHP… Tuy nhiên, các khách hàng của Zend thấy rằng, họ không có một nền tảng nào thực sự chuẩn và các framework kia cũng không thực sự đáp ứng được tính linh hoạt trong những project lớn. RoR thì ngày càng nổi đình nổi đám, gần như tất cả mọi người đều xúm lại “tán dương sự siêu việt” của nó. PHP “có nguy cơ bị thất sủng”, thị trường enterprise sắp trở thành một giấc mơ xa vời…

Và Zend Framework được thai nghén với hy vọng sẽ trở thành chất xúc tác cải thiện tình hình tồi tệ đó: đánh đuổi hoặc cải tạo bọn cơ hội, thiếu nghiêm túc; cung cấp cho các hiệp sĩ chân chính bộ giáp sắt, kiếm, và ngựa khỏe!

Zend Framework có gì?

Hãy có một cái nhìn tổng quát về ZF! Nó không phải là một application framework / toolkit như kiểu của symfony hay Cake; ZF là một thư viện các lớp và nó không bắt buộc developer phải làm việc theo một cách thức nào cả (mặc dù nó focus vào kiến trúc MVC). Chia ra làm nhiều components, gần như tất cả mọi nhu cầu của developer đều được đáp ứng, từ việc access database, webservice, search index… cho đến authenticate, caching, log (xem hình bên dưới). Với ZF, tốc độ phát triển ứng dụng PHP sẽ tăng lên đáng kể, độ chuẩn thì khỏi phải bàn.

ZF là thứ dành cho các nhà phát triển lớn. Tôi thật sự rất thích thú với Zend_Search_Lucene, trông đợi mỏi mòn sự ra mắt của Zend_Soap và gói XML Dadatabase. Có tất cả cho một ứng dụng cỡ bự đến rất bự, không ép developer phải theo một quy trình nào hết, tính linh hoạt và khả mở của nó là rất cao.

Bao giờ tôi có thể ôm hôn Andi?

Tôi phải diễn dịch lại tiêu đề của section này một chút: “Bao giờ thì Zend Framework được phát hành?”😀 . Thật ra bạn đã có thể download bản preview (pre-alpha) của nó từ lâu rồi, bản thân tôi đã test thử và nghiên cứu nó từ cách đây vài tháng. Hiện tại, đã có bản 0.6.

Bản 0.6 hiện tại có nhiều sửa đổi trong mã nguồn, ví dụ như sửa lại gần như 30% lớp Zend_Config… Nhưng một số gói như Soap, Authenticate, XML Database vẫn chưa thấy đâu. Và tôi cũng cảm thấy sự thiếu thốn một ORM pack, rõ ràng là Zend_Db_Table quá đơn giản đóng vai trò là một Model.

Zend Framework 1.0 RC dự kiến sẽ ra mắt vào cuối tháng 3 đầu tháng 4 năm nay, còn bản 1.0 chính thức sẽ ra mắt trong nửa đầu năm. Nhanh lên nào!

P/S: Đây sẽ là bài viết mở đầu cho lọat bài về Zend Framework, bao gồm cả các tutorial. Hy vọng nhận được nhiều sự góp ý của các bạn, nhất là các guru!


About this entry