Peachpie: Trình biên dịch mới giúp chuyển đổi từ PHP sang .Net
- Ngoc Huynh
Được xây dựng dựa trên trình biên dịch mã nguồn mở Roslyn của Microsoft, Peachpie sử dụng các công nghệ metaprogramming của .Net trong PHP.
Sau khi Microsoft mở mã nguồn Roslyn, thì công nghệ của trình biên dịch này đã trở thành nền tảng cho vô số các trình biên dịch thử nghiệm từ việc biên dịch C# sang JavaScript cho đến cung cấp một scripting environment tương tác sử dụng C#.
Mới đây Microsoft đã giới thiệu một dự án trình biên dịch dựa trên Roslyn có tên gọi là Peachpie, giúp biên dịch PHP sang các portable class libraries và được thực thi trong .Net framework.
Ngoài việc đạt được hiệu suất cao, việc biên dịch sang .Net mang đến cho các lập trình viên PHP có khả năng sử dụng nền tảng phần mềm hiện có được viết cho .Net, cũng như các tính năng của .Net runtime.
Một lợi thế khác của việc sử dụng Roslyn đó là: nó sinh ra các abstract syntax trees (ASTs) từ lập trình PHP. Cho phép mã nguồn mở được chuyển đổi bởi trình biên dịch và người dùng có thể viết các ứng dụng hoặc công cụ phân tích giúp điều chỉnh hành vi của các ứng dụng khác dễ dàng hơn.
Peachpie bắt nguồn từ một dự án ban đầu có tên là Phalanger, một PHP runtime và trình biên dịch dành cho .Net. Được xem như là một bộ công cụ dành cho Visual Studio 2010 tới 2015, Phalanger cho phép việc debug một PHP website trực tiếp ngay trong Visual Studio.
Nhiều tính năng hấp dẫn khác của Peachpie vẫn chưa hoàn thiện. Hiện tai, parser chỉ hỗ trợ PHP 5, và trong tương lai sẽ là PHP 7.
Sự phát triển mạnh mẽ của PHP trong vòng 20 năm qua đảm bảo nó sẽ vẫn là một sự lựa chọn công nghệ phổ biến dành cho quá trình phát triển Web. Với PHP 7, đây sẽ là ngôn ngữ giúp thúc đẩy hiệu suất và có chức năng abstract syntax tree của riêng mình.
Nhưng thiết kế nhất quán của PHP đã mở ra cơ hội cho các nền tảng khác chẳng hạn như Node.js phát triển và mang tới nhiều giải pháp hiện đại hơn.
Tuy Peachpie không theo xu hướng đó, nhưng nó ít nhất sẽ cung cấp một phương thức cho cả các lập trình viên .Net và PHP có thể tận dụng những gì mà mỗi môi trường phát triển mang đến.
Nguồn bài viết : http://www.infoworld.com/