Phalanger (Compilador)

El proyecto Phalanger fue iniciado en la Universidad Carolina en Praga. Este compila código fuente escrito en PHP al CIL Byte-code. Se encarga del inicio de un proceso de compilación que se completa con el componente compilador JIT de.NET Framework. No se ocupa de la generación de código nativo, ni de su optimización. Su finalidad es compilar los scripts PHP a.NET, las unidades lógicas que contiene el código CIL y meta-datos.

Phalanger
Parte de PeachPie
Información general
Tipo de programa Compilador
Desarrollador DEVSENSE
Licencia Apache License (Apache 2)
Información técnica
Programado en C#, C++ / CIL
Plataformas admitidas .NET / Mono
Versiones
Última versión estable 3.0.0.40726 de marzo de 2013
Enlaces

Compatibilidad

editar

Phalanger puede funcionar con aplicaciones del "mundo real" hechas en PHP, muchas con un cambio mínimo o directamente sin modificar. Ejemplos prácticos son WordPress,[1]MediaWiki,[2]phpMyAdmin y phpBB.

Rendimiento

editar

Uno de los objetivos principales del proyecto es mejorar el rendimiento de las aplicaciones PHP. Los puntos de referencia en contra de PHP muestran un beneficio considerable de rendimiento con Phalanger.[3]

Actualmente hay en curso un proyecto[4]​ en la Universidad Carolina para re-implementar el núcleo de Phalanger usando la tecnología Microsoft Dynamic Language Runtime, y para desarrollar una herramienta de integración con el Microsoft Visual Studio para proveer de características tales como IntelliSense para el lenguaje PHP.

Como resultado, este ha mostrado varias características del DLR, incluso una mejora del rendimiento de Phalanger[5]​ El resto de las características DLR están siendo integradas en el actual núcleo de Phalanger.[6]

Google Summer of Code

editar

Un proyecto que incluye Phalanger fue apadrinado por el equipo de Mono durante el programa Google Summer of Code en 2008. Durante este periodo Phalanger fue portado hacia el framework Silverlight 2.0 con el objetivo de hacerlo funcionar con el Moonlight.[7]

El patrocinio Jadu

editar

A principios de 2008, El UK Content Management vendor Jadu aunó esfuerzos con el equipo con sede en Praga para mejorar la comunicación entre.NET y el compilador Phalanger. Está basado en la duck typing y provee un modo fácil para acceder a objetos del mundo dinámico de PHP que son difíciles de acceder desde tipeo estático del ambiente.NET.[8]

En diciembre de 2008, Jadu anunció que el compilador estaba disponible para la comunidad de desarrolladores y en las entrevistas con ITPRO[9]​ y VNUnet[10]​ mencionaron que el desarrollo podría ayudar a cerrar la brecha de competencias entre PHP y NET.

Soporte y desarrollo por Devsense

editar

Desde 2009, la compañía Devsense lidera el desarrollo del proyecto y ofrece soporte y soluciones comerciales.[11]​ Devsense se compone de los desarrolladores principales de Phalanger y mantienen este proyecto de código abierto con vida.

Además del mantenimiento y crecimiento del proyecto, Devsense está proporcionando la integración en Phalanger en el Visual Studio para la comunidad.[12]

Microsoft & Los lenguajes dinámicos

editar

Según Microsoft, el objetivo principal del proyecto, publicado bajo licencia de código permisivos compartido de Microsoft en el Microsoft CodePlex, es la de habilitar la funcionalidad completa de los scripts PHP en el framework.NET sin ninguna modificación.[13]

Referencias

editar
  1. «Phalanger y wordpress» (en inglés). Archivado desde el original el 17 de agosto de 2011. Consultado el 7 de febrero de 2012. 
  2. «Wiki-php-compiler» (en inglés). Consultado el 7 de febrero de 2012.  (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  3. «Benchmarks». www.php-compiler.net. Archivado desde el original el 27 de abril de 2012. 
  4. «Improvements in the Phalanger Project» (en inglés). www.php-compiler.net. 1 de julio de 2008. 
  5. «Improved WordPress performance with Phalanger» (en inglés). 9 de mayo de 2011. Archivado desde el original el 8 de enero de 2012. Consultado el 9 de enero de 2012. 
  6. «Phalanger takes advantage of DLR» (en inglés). 1 de agosto de 2011. Archivado desde el original el 25 de marzo de 2016. Consultado el 9 de enero de 2012. 
  7. «Google Summer of Code Application Information» (en inglés). 21 de abril de 2007.  (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  8. Petricek, Tomas (30 de abril de 2007). «Using PHP objects from C# in a type-safe way» (en inglés). 
  9. Har-Even, Benny (2 de diciembre de 2006). «Jadu gets PHP and .NET talking» (en inglés). ITPRO. 
  10. Muncaster, Phil (28 de noviembre de 2006). «Jadu brings PHP and .NET closer together» (en inglés). VNUnet. Archivado desde el original el 4 de diciembre de 2008. 
  11. «Devsense offers Phalanger and commercial support» (en inglés). DEVSENSE. Archivado desde el original el 24 de junio de 2011. 
  12. «Devsense provides Phalanger Tools» (en inglés). DEVSENSE. Archivado desde el original el 17 de octubre de 2011. 
  13. Krill, Paul (24 de agosto de 2006). «Microsoft accommodates dynamic languages» (en inglés). Computerworld. Archivado desde el original el 1 de diciembre de 2008. 

Enlaces externos

editar