Utilizamos cookies propias y de terceros para proporcionarte una buena experiencia de navegación. Si sigues navegando, entendemos que aceptas su uso. Acepto


Haciendo posible PHP sobre Android.

ASE (Android Scripting Environment) es una aplicación para Android desarrollada por Google gracias a la cual es posible editar y ejecutar scripts en tu terminal móvil. Con este sistema, gran parte de la API de Android, será accesible desde un script. Mediante una capa de interacción JSON RPC implementada en ASE, podremos por ejemplo, realizar llamadas, enviar mensajes o consultar la agenda de teléfonos de nuestros teléfono mediante un secillo script.

Actualmente, ASE da soporte a varios lenguajes de scripting: Python, Ruby o Lua. Como no podía ser de otra manera, desde Irontec echamos de menos el lenguaje de scripting que más utilizamos: PHP. Viendo la potencia de ASE, que permite que cierto tipo de aplicaciones como notificaciones o integraciones sean realizadas rápidamente con lenguajes de scripting, para nosotros era imprescindible que PHP estuviera ahí.

Irontec cuenta con cierta experiencia en el desarrollo de aplicaciones móviles. En los últimos meses, hemos realizado algún proyecto para Android, aunque en el pasado también se han hecho ciertas cosas con J2ME. A día de hoy, la apuesta en cuanto a plataformas móviles que realiza Irontec, se inclina claramente a favor de Android. Con sus limitaciones, es la opción del mercado que más se ajusta a nuestra filosofía. Es obivo que si además de la potencia de Java, disponemos de PHP para llevar a cabo desarrollos medianos, mejor que mejor.

La incidencia para añadir soporte PHP a ASE, lleva abierta más de un año y hasta ahora, no había habido aportación alguna en cuanto a desarrollo, aunque sí muestras de interés por parte de algunos usuarios.

Es por eso que, hacernos cargo de esa incidencia, nos ha parecido un reto interesante, no sólo de cara a futuros desarrollos internos, sino como algo interesante para una parte importante de la comunidad.

Primero ha sido necesario añadir ciertas clases Java que hacen que ASE tenga información acerca de las características particulares de PHP como intérprete (extensión del fichero, valores booleanos, inicio de script...).

Después ha venido la tarea de preparar un ejecutable de PHP. Se ha barajado utilizar Quercus, una implementación de PHP5.2 escrita en Java. A priori puede parecer la opción natural en ASE, viendo que existe soporte a JRuby. Finalmente nos hemos encontrado con bastante problemas en la conversión del bytecode a la máquina virtual de Android: Dalvyk.

Al final, nos hemos decantado por probar con la implementación oficial de PHP. Encontramos una referencia a una guía sobre compilar PHP para Android de Moshe Doron. Desgraciadamente la página web ya no se encontraba disponible ni cacheada así que contactamos con Moshe, y al de unas horas, respondió diciendo que había vuelto a poner la guía online (gracias moshe!). Hemos realizado una compilación cruzada 100% estática de PHP utilizando las herramientas de CodeSourcery. En la guía se realiza una compilación únicamente del core de PHP, pero como mínimo supusimos que necesitaríamos también las extensiones de "json" y "sockets" para poder interactuar con ASE. Esto nos hizo topar con un bug en la versión de producción actual de PHP 5.3 con lo cual por ahora usamos un snapshot del repositorio de PHP.

Superados ambos retos, nos encontramos con las nuevas clases Java que harían que ASE entendiera a PHP y un binario del intérprete PHP funcionando en Android. La nueva dificultad era poder probar el conjunto. Estudiando el mecanismo de ASE, nos damos cuenta de que éste, proveé los intérpretes que el usuario desea. Por esta vía, nos damos cuenta rápidamente de que no hay una forma evidente de probar nuestro conjunto. Es por eso por lo que optamos por fijar manualmente PHP como intérprete soportado en ASE, al igual que lo está una shell que viene instalada por defecto.

En este punto ya podíamos ejecutar scripts sencillos en PHP desde ASE, pero aún seguimos sin acceso a la API de Android. Dicha comunicación, es relativamente sencilla. Simplemente hace falta una capa de comunicación por sockets mediante mensajes JSON. Tirando de las clases análogas en Python y Ruby, hemos entendido el sistema, y portado la clase a PHP.

A estas alturas, podemos decir que hemos conseguido que PHP esté soportado como lenguaje de scripting en las plataformas Android. En próximos días prepararemos el commit, con lo cual esperamos que ASE tenga soporte para PHP pronto. Un granito de arena aportado desde Irontec, para que PHP (posiblemente de los lenguajes de scripting más popular del mundo), esté soportado en terminales Android. Dada la popularidad de PHP, y la expansión del sistema operativo de Google, esperamos que más gente se una al proyecto.

Queremos agradecer desde aquí a Moshe Doron su trabajo en la guía de compilación cruzada de PHP a Android.

Comparte esta información:
  • Twitter
  • Facebook
  • del.icio.us
  • Meneame
  • BarraPunto
  • Google Bookmarks
  • PDF
  • email
Leave a comment

86 Comments.

  1. In fact no matter if someone doesn’t understand then its up to
    other viewers that they will assist, so here it takes place.

  2. I won’t lie and say I didn’t have fun playing Lord of the
    Rings: War in the North. It’s popularity is evident in the face that The New York Times has seen fit to post a
    review of the game in its normally staid pages. footage from locations including the Galapagos Islands, French Polynesia, Australia, and South Africa.

  3. A pediatrician should examine blistering sores, outward indications
    of eye an infection, or generalized disease with
    lethargy or neurological warning signs in a new baby at once,
    even if mom has no known background of herpes.

  4. I go to see each day a few web sites and websites to read posts, except this web site gives feature based content.

  5. If some one desires expert view about blogging then i suggest him/her to go to
    see this webpage, Keep up the nice job.

  6. I don’t even know how I stopped up here, however I believed this
    put up was once great. I don’t realize who you might be however
    definitely you’re going to a well-known blogger if you aren’t
    already. Cheers!

  7. Today, while I was at work, my cousin stole my iPad and
    tested to see if it can survive a 25 foot drop, just so she can be a youtube sensation. My iPad is now
    destroyed and she has 83 views. I know this is completely off
    topic but I had to share it with someone!

  8. The traditional style of wedding dresses do not normally cater for a
    growing bump and there are key problems with tying to buy a normal wedding dress when you are
    expecting. If you can afford to purchase several of these items (even in today’s economy) try to mix things up.
    The designer also collaborated with a party favor company to create a limited-edition collection of matching wedding invitations.

  9. Greetings I am so delighted I found your
    web site, I really found you by accident, while I was browsing on Yahoo for something else, Anyways I am here now and
    would just like to say thanks a lot for a marvelous post and a all round exciting blog (I also love the theme/design), I don’t
    have time to read through it all at the minute but I have saved it and
    also added in your RSS feeds, so when I have time
    I will be back to read a great deal more, Please
    do keep up the fantastic b.

  10. Hi there, of course this post is genuinely nice and I have learned lot
    of things from it about blogging. thanks.

  11. We absolutely love your blog and find most of your post’s to be
    what precisely I’m looking for. Would you offer guest writers
    to write content for you? I wouldn’t mind producing
    a post or elaborating on a lot of the subjects you
    write about here. Again, awesome site!

  12. It is in point of fact a nice and useful piece of info. I¡¦m happy that you just shared this helpful info with us. Please keep us up to date like this. Thanks for sharing.

  13. Robert/Nick: Thanks for feedback. Outlined on our site be interested to listen of any kind of advantages towards your SEARCH ENGINE OPTIMIZATION campaigns once this is applied.

  14. Robert/Nick: Many thanks for feedback. I had have an interest to know connected with just about any benefits in your SEARCH ENGINE OPTIMIZATION promotions when this is executed.

  15. The activities other people engages in with regard to nfl jersey and consequently those things you would want to do completely different.
    wholesale authentic mens lacoste arixia fd 2 green white shoes clearance sale http://www.emeraldpointcondos.com/lacoste-tracksuit/mens-lacoste-arixia-fd-2-green-white-shoes-p-5260.html

  16. The main reason why no one is talking over nfl jersey and for that cause the things one ought to engage in immediately.
    designer newest factory price ed hardy live love hope faith dies hobo bag in white go on sale sale http://www.grizzlyblueeyes.net/ed-hardy-ll-ll-bean-outlet-factory-stores-maine/newest–factory-price-ed-hardy-live-love-hope-faith-dies-hobo-bag-in-white-go-on-sale-p-8141.html

  17. Beginner queries about nfl jersey addressed and therefore the reasons you should study every single term in this study.
    top quality ugg alloway 1001632 navy slippers sale online 2014 http://www.mn.com.do/ugg-slippers-clearance-sale/ugg-alloway-1001632-navy-slippers-p-5311.html

  18. Najdete tady sexy partnery z Prahy, kteří touží po tom,
    splnit všechna ѵašе prání – pokud jim to dovolítе.
    Zaregistrujte se, vyzkoušejte našі službu а rozhodnětе se, zda
    jsou tito singles z Brna neco pro vás.cz netrvá ani 5 minut а otevre vám cestu k nekonecným nocím plným sexu.

  19. These brand-new sensors are counted on to work even when making use of
    gloves or a pencil. Check out our rundown of only the best
    to make your i – Phone happy. Or, since in many states it is illegal to
    talk into a phone while driving, you can just hit the big
    blue button and then speak after the beep.

  20. I still learning this,,, writing as a communications medium
    has been my biggest hurdle.

  21. Hi folks, just want to warn you – don’t pay $500 for platinum roulette system,
    you can find it for free, just type in google
    - platinum roulette system – you will find interesting post about
    this system

  22. Yes! Finally someone writes about moto e back cover india.

  23. Just want to say your article is as amazing. The clearness in your
    post is simply nice and i could assume you are an expert on this subject.
    Fine with your permission let me to grab your RSS feed
    to keep updated with forthcoming post. Thanks a million and please carry on the
    rewarding work.

  24. My brother suggested I may like this web site. He used to be totally right.
    This post actually made my day. You cann’t imagine just how so much time I had spent for this information! Thanks!

  25. I think this is among the most vital information for me.
    And i’m glad reading your article. But wanna remark on few general things, The site
    style is wonderful, the articles is really great :
    D. Good job, cheers

  26. Excellent article. I’m going through a few of these issues as well..

  27. An interesting discussion is definitely worth comment.
    I believe that you need to write more on this issue, it might not
    be a taboo subject but generally people do not talk about such subjects.

    To the next! Cheers!!

  28. It’s a pity you don’t have a donate button! I’d certainly donate
    to this superb blog! I guess for now i’ll settle for bookmarking and adding
    your RSS feed to my Google account. I look forward to fresh updates and will share this website with my Facebook group.
    Talk soon!

Leave a Reply


[ Ctrl + Enter ]

Trackbacks and Pingbacks: