He estado creando extensiones de Joomla desde la v1, pero pronto necesito poner en funcionamiento una API que he construido y que he estado usando durante un tiempo. Actualmente estoy usando Joomla 2.5 y he escrito complementos para este sistema:
https://github.com/techjoomla/com_api
Antes de comenzar a trabajar, me gustaría probar el sistema en el futuro tanto como sea posible. Este componente de API solo recientemente comenzó a actualizarse para que funcione con Joomla v3, por lo que actualmente impide que el sitio se actualice. También creo que separar la API pública y el portal del usuario tiene sentido ya que no hay ningún beneficio de ser una extensión integrada, ya que las aplicaciones móviles utilizarán la API.
El plan actual es reconstruir la API en un subdominio que nos permitirá actualizar el portal del usuario. He estado leyendo sobre el nuevo marco de Joomla que se ve emocionante. ¿Sería esto adecuado para crear una API RESTful para nuestras aplicaciones móviles? Si es así, ¿son consejos para comenzar? He leído que FoF se puede usar para construir una API, ¿sería una buena opción? Vi el proyecto Kickstarter con la intención de construir exactamente este tipo de API, ¿es esa una opción potencial? ¿Debo eliminar el sitio 2.5 actual para el subdominio para que solo ejecute la API?
Cualquier sugerencia sobre el mejor enfoque para construir una API RESTful basada en Joomla para la interacción móvil será muy apreciada.
Respuestas:
De acuerdo con mi experiencia:
Sobre el framework Joomla
Traté de construir una API RESTful simple para la autenticación integrada basada en el marco de Joomla. Es bastante complejo, bastante diferente de la API de Joomla actual. Además, el código fuente actual no se puede copiar y pegar, y las bibliotecas pueden devolver resultados inesperados (se ejecutan en un entorno diferente). Voy a esperar hasta que haya más código disponible y tenga una mayor adopción.
Sobre el marco FOF
Actualmente estoy desarrollando solo con FOF. Muy útil, mucha RAD, configuración automática, etc. y el código es compatible con J2.5 / J3.
Para una API RESTful, puede tomar el ejemplo de todo-fof y agregar un controlador con la API. Ejemplo:
Además, puede aprovechar las vistas json automáticas. Por ejemplo, una vista de exploración (default.php) puede generar resultados json (solo agregando
default_json.php
yecho json_encode
...)fuente
com_api es definitivamente una buena forma de crear servicios REST para su sitio si la extensión en sí no se basa en FOF / RAD. Sin embargo, tenga cuidado con algunas trampas si planea crear una instancia de Joomla separada solo para la API
Aparte de eso, estoy seguro de que no debería haber ningún problema, ya que seguirá desarrollándose hasta que haya una forma de Joomla de facto de crear API.
Descargo de responsabilidad: soy el responsable de https://github.com/techjoomla/com_api
fuente
Mis dos centavos:
Para un cliente, necesitaba acceder al contenido de su sitio de Joomla desde una aplicación de teléfono inteligente. El contenido se colocó en com_content, por lo que inicialmente utilicé feeds obRSS. Luego encontré jBackend en JED y lo probé. Está disponible aquí http://www.selfget.com/products/jbackend.html El código parece muy limpio y admite solicitudes RESTful y respuestas JSON. La documentación en línea es limitada pero lo suficientemente clara para los técnicos. Desafortunadamente en este momento solo es compatible con com_user y com_content pero en mi caso esto estuvo bien. Ahora debería usarlo para otro cliente que usa K2 CCK. Estoy tratando de crear un complemento personalizado para acceder a artículos y categorías de K2, pero al menos guardaré todo el código de administración de solicitudes. Envié un correo electrónico al desarrollador y me dijo que está trabajando en módulos adicionales como K2 y el foro Kunena también, es una extensión muy prometedora.
fuente
El siguiente sitio parece ser un excelente recurso para obtener pautas sobre cómo construir una API JSON RESTful:
http://jsonapi.org/
Por lo que vale, también estoy lanzando un producto API para Joomla 3.4.x llamado cAPI http://getcapi.org .
El diferenciador principal aquí es que apliqué mi marco de enrutamiento en el micro marco delgado. Esto me permite incorporar un marco robusto ya probado en la instancia de la aplicación Joomla. También he creado una arquitectura de complementos para las rutas de servicio, abriendo la puerta a complementos y seguridad de servicios web.
Puede encontrar información adicional de otras publicaciones, aquí:
/programming/26340885/rest-api-for-joomla-3-0/32706378#32706378
Hazme saber si tienes alguna pregunta.
fuente