¿Qué herramientas puedo usar para ayudarme con el desarrollo de Joomla?

26

Soy nuevo en el desarrollo de Joomla y me gustaría saber qué herramientas y / o software pueden ayudarme a desarrollar el backend y la interfaz de un sitio de Joomla. Esto también incluiría cualquier mantenimiento futuro y actualizaciones en el futuro.

Lodder
fuente
1
Bueno, queremos hacer de esta página una wiki llena de herramientas útiles que la mayoría de nosotros estamos usando para Joomla y el desarrollo / administración general. Separamos las respuestas, por categorías de las herramientas. Todos los usuarios pueden agregar, actualizar información en las respuestas a continuación. Se puede hacer referencia a la pregunta en otras respuestas, especialmente para los nuevos usuarios, y creo que será una cálida bienvenida.
FFrewin

Respuestas:

17

Desarrollo

General

  • Composer
    Composer es una herramienta para la gestión de dependencias en PHP. Le permite declarar las bibliotecas de las que depende su proyecto y las administrará (instalará / actualizará) por usted.

  • Instalador de Joomlatools Composer
    Este complemento Composer instalará extensiones en su configuración de Joomla.

  • FOF2 (Framework on Framework 2)
    FOF es un marco de desarrollo de aplicaciones rápido incluido en Joomla! Se extiende el Joomla! La plataforma, en lugar de reemplazarla, presenta su propia versión bifurcada y extendida de las clases MVC, manteniendo una gran similitud con el Joomla existente. y proporciona capacidades de HMVC.

  • FOF3 (Framework on Framework 3) FOF3 mejora FOF2 / F0F2 y trae nuevas y poderosas herramientas para Joomla 3. como un nuevo DataModel, uso de espacios de nombres, contenedor DI, carga automática de clase para componentes, un generador de andamios para crear automáticamente un marco para tu componente, y mucho más . ADVERTENCIA FOF 3.x no es compatible con versiones anteriores de FOF 2.xy 1.x.

    • FOF3-Basic Un ejemplo de tipo hello world para Akeeba FOF3 escrito como un tutorial para desarrolladores para construir un Joomla! componente desde cero.
  • Nooku Framework
    Framework para construir extensiones de Joomla con menos código.



Generadores de extensiones

  • generator-joomla-component (Un generador de componentes para Yeoman )
    generator-joomla-component le permite construir un nuevo componente joomla de forma rápida y sin esfuerzo, utilizando el patrón de diseño MVC recomendado y los estándares de codificación.

    Éstas incluyen:

    • Archivos de lenguaje de internacionalización
    • Pestañas para sangrías
    • Notación variable CamelCase
    • Arquitectura MVC adecuada
    • Stubs de PHPDocumentor para cada método, así como bloques de documentos a nivel de página
    • Usa 'más ", porque eso es lo que usa la biblioteca oficial de Joomla
  • generator-joomla-admin-template (Un generador de plantillas de administrador para Yeoman )
    generator-joomla-admin-template es un generador de yeoman, que le permite generar automáticamente plantillas de administrador de joomla para su back-end.

  • Creador de componentes de Joomla (El acceso gratuito está limitado a una tabla de base de datos) El
    creador de componentes de Joomla le permite generar un componente de Joomla personalizado, totalmente funcional, listo para instalar en minutos. Está ahorrando diariamente a los desarrolladores de Joomla cientos de horas de tiempo de desarrollo.

  • Component Builder
    Component Builder para Joomla que es altamente avanzado, realmente capaz de construir componentes extremadamente complejos en una fracción del tiempo.

  • Joomla Module Generator de XDSoft
    Joomla Module Generator de XDSoft simplifica el proceso y ahorra tiempo de desarrollo del módulo para Joomla. Crea estructura, crea todos los directorios y archivos necesarios, genera un archivo XML principal válido. Como resultado, obtienes un paquete zip listo para la instalación.

  • Joomla Plugin Generator por ExtStore
    Joomla! Plugin Generator de ExtStore genera un complemento vacío simple con los archivos necesarios para que pueda comenzar rápidamente con su nuevo complemento Joomla. Después de completar un formulario rápido con el nombre del complemento, el autor y la descripción, obtendrá un paquete zip listo para la instalación, incluidos los archivos de idioma (en-GB).



Documentos y recursos

Rene Korss
fuente
Desarrollé un generador de módulos gratuito que está disponible en mi sitio web. ¿A alguien le importaría que lo agregue a esto?
Lodder
@Lodder No, en absoluto.
Rene Korss
15

Ambientes:

  • Wamp (Windows)
    WampServer es un entorno de desarrollo web de Windows. Le permite crear aplicaciones web con Apache2, PHP y una base de datos MySQL. Además, PhpMyAdmin le permite administrar fácilmente sus bases de datos.

  • Mamp (Mac: versiones comunitarias y comerciales)
    MAMP instala un entorno de servidor local en cuestión de segundos en su computadora Mac OS X. Viene de forma gratuita (edición comunitaria) y se instala fácilmente. MAMP no comprometerá ninguna instalación existente de Apache que ya se esté ejecutando en su sistema. ¡Puede instalar Apache, PHP y MySQL sin iniciar un script ni tener que cambiar ningún archivo de configuración!

  • Lámpara (Linux)

  • Xampp (disponible para todas las plataformas)
    XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene MySQL, PHP y Perl. El paquete de código abierto XAMPP se ha configurado para que sea increíblemente fácil de instalar y usar.

  • Vagrant
    Vagrant es una herramienta para construir entornos de desarrollo completos. Con un flujo de trabajo fácil de usar y un enfoque en la automatización, Vagrant reduce el tiempo de configuración del entorno de desarrollo, aumenta la paridad de desarrollo / producción y hace que el "funciona en mi máquina" disculpe una reliquia del pasado.

    • Joomlatools Vagrant box (Máquina virtual con pila de lámparas)
      Este proyecto automatiza la configuración de un entorno de desarrollo de Joomla. Es capaz de ejecutar una pila LAMP con todas las funciones con un solo comando para que pueda comenzar a trabajar en sus proyectos de Joomla rápidamente.

  • Oracle VM VirtualBox
    VirtualBox es un producto de virtualización potente y rico en funciones para uso empresarial y doméstico, está disponible gratuitamente como software de código abierto (GNU GPL).

    VirtualBox se ejecuta en hosts Windows, Linux, Macintosh y Solaris y admite una gran cantidad de sistemas operativos invitados, incluidos, entre otros, Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS / Windows 3.x, Linux (2.4, 2.6 y 3.x), Solaris y OpenSolaris, OS / 2 y OpenBSD.

  • Ampps (disponible para todas las plataformas)
    AMPPS es una pila de software fácil de instalar de Apache, Mysql, PHP, Perl, Python y el autoinstalador Softaculous que se puede usar en computadoras de escritorio y servidores de oficina.

Requisitos del sistema para Joomla3

Lodder
fuente
Nunca lo usé antes, pero estoy empezando a usarlo ahora para otro proyecto y parece prometedor, una caja vagabunda de Joomla (máquina virtual): joomlatools.com/blog/2013/08/joomla-in-a-box.html
fruppel
@fruppel - Ahh bien. Si no recuerdo mal, alguien preguntaba por una máquina virtual hace poco aquí. Por favor, siéntase libre de editar esto con cualquier recomendación que tenga. FFrewin sugirió que esto se convirtiera en un wiki comunitario para los usuarios nuevos en Joomla
Lodder el
@FFrewin - Quizás múltiples respuestas serían mejores. Tal vez si cada sección (Envrionments, Editors, etc.) fueran respuestas separadas, entonces el usuario podría agregar una descripción y una opinión para cada uno
Lodder
1
@Lodder: Ok, de acuerdo, eventualmente dividiremos las respuestas clasificadas por sección. Por el momento agregaré una breve referencia para 2 herramientas DB en la respuesta anterior.
FFrewin
Este es un excelente recurso y debería ser el punto de partida básico para cualquier persona interesada en el desarrollo de Joomla (¡o cualquier desarrollador web!). ¡Algunos de estos son nuevos para mí y los voy a investigar! Muy apreciado :)
jonboy
9

Pruebas:

Si planea escribir una cantidad significativa de código PHP o JavaScript, todas las herramientas estándar de desarrollo PHP y JavaScript serán útiles, independientemente del hecho de que su código se ejecutará en un entorno Joomla en lugar de ser independiente.

En el lado de PHP:

  • XDebug : una extensión de PHP para desarrolladores que le permite hacer cosas como paso a paso su código línea por línea para ayudarlo a encontrar errores. Inestimable.
  • phpUnit : una herramienta de prueba. Escriba pruebas de phpUnit para asegurarse de que su código funcione
  • PHPMD : PHP "Detector de desorden". Señala código de baja calidad. (Muchos proyectos conocidos podrían haberse beneficiado realmente al usar este tipo de herramienta desde el principio).
  • CodeSniffer y los estándares de codificación de Joomla: impone una práctica de código limpio y hace que su código sea más fácil de leer para los nuevos desarrolladores.

En el lado de JavaScript:

  • Las diversas características del navegador DevTools. Todos los principales navegadores tienen herramientas de desarrollo de buena calidad ahora. Firefox también tiene Firebug disponible como complemento además de las herramientas de desarrollo integradas, que también vale la pena tener.
  • JSHint : señala código de baja calidad y posibles errores.

Hay toneladas de herramientas como estas, pero obviamente depende de la gravedad de la codificación: si solo está utilizando unas pocas docenas de líneas de código, no tendrá mucho sentido perder el tiempo con la mayor parte de encima. Pero, por otro lado, si planea escribir un complemento de Joomla de tamaño razonable y respaldarlo durante algún tiempo, las herramientas anteriores serán invaluables para ayudarlo a escribirlo bien.

Simba
fuente
8

Frontend (plantilla, marco, etc.):

  • UIKit (marco)
    UIKit tiene solo un par de años pero se ha vuelto extremadamente popular. Es un marco front-end ligero y modular para desarrollar interfaces web rápidas y potentes y se utiliza para todas las plantillas de Yootheme a partir de Warp 7. La mayoría de Javascript se ha movido a componentes separados, lo que significa que puede cargar cada uno cuando y donde querer.

  • Bootstrap (framework)
    Bootstrap es un framework extremadamente popular, si no el más popular HTML, CSS y JS para desarrollar sitios web receptivos. Bootstrap hace que el desarrollo web front-end sea más rápido y fácil. Está hecho para personas de todos los niveles de habilidad, dispositivos de todas las formas y proyectos de todos los tamaños, y sobre todo, es de código abierto, por lo tanto, está alojado, desarrollado y mantenido en GitHub por la comunidad. La versión 2.3.2 (ya no se admite oficialmente) también viene con Joomla 3.xy se usa para la plantilla predeterminada de Protostar.

  • Yootheme (proveedor de plantillas)
    Yootheme es uno de los proveedores de plantillas de Joomla más populares. Presentan una nueva plantilla (utilizando su marco front-end, UIKit) cada mes con un diseño único.

  • Fundación (marco)
    Fundación es una familia de marcos front-end receptivos que facilitan el diseño de hermosos sitios web, aplicaciones y correos electrónicos receptivos que se ven increíbles en cualquier dispositivo. Foundation es semántica, legible, flexible y completamente personalizable.
  • Interfaz de usuario semántica (marco)
    Semantic es un marco de desarrollo que ayuda a crear diseños hermosos y receptivos utilizando HTML amigable para los humanos.
  • Pure by Yahoo (conjunto de módulos CSS pequeños y sensibles)
    Pure está destinado a ser un punto de partida para cada sitio web o aplicación web. Pure se encarga de todo el trabajo de CSS que necesita cada sitio, sin que parezca cortador de cookies:

    • Una cuadrícula receptiva que se puede personalizar según sus necesidades.
    • Una base sólida construida en Normalize.css para solucionar problemas de compatibilidad entre navegadores.
    • Botones con estilo consistente que funcionan con elementos.
    • Estilos para menús verticales y horizontales, incluido el soporte para menús desplegables.
    • Alineaciones de formularios útiles que se ven geniales en todos los tamaños de pantalla.
    • Varios estilos de mesa comunes.
    • Un aspecto extremadamente minimalista que es súper fácil de personalizar.
    • Responsivo de forma predeterminada, con una opción que no responde.
    • Tamaño de archivo extremadamente pequeño: 4.5 KB minified + gzip.
FFrewin
fuente
Saludos por la separación :). Comenzaré a escribir información sobre estos marcos y entornos en un momento
Lodder
@Lodder: Sí, quería publicar estas herramientas de db con más información, y pensé que era el momento de separar las respuestas ahora. Creo que lo estropeé un poco con el enlace LAMP en la sección de entornos. ¿Puedes revisar y agregar tu enlace anterior?
FFrewin
1
Claro, creo que Lamp necesita instalarse a través de Ubuntu y no es como el software descargable normal. Así que supongo que el enlace necesita ir a algún tutorial. Sin embargo
Lodder
7

Herramientas del navegador:

  • Adobe Edge Inspect CC (gratis)
    Edge Inspect es una aplicación esencial para desarrolladores web y diseñadores que necesitan obtener una vista previa de su contenido en múltiples dispositivos móviles. Empareje de forma inalámbrica múltiples dispositivos iOS y Android a su computadora, tome capturas de pantalla de cualquier dispositivo conectado y vea resultados en tiempo real de los cambios a HTML, CSS y JavaScript.

  • Firebug (Firefox) (Tenga en cuenta que hay una versión Lite para otro navegador, pero recomendaría usar los inspectores integrados)

  • ColorZilla (Firefox y Chrome)

FFrewin
fuente
Recomiendo Web Developer como otra gran extensión para Firefox (y Chrome). Es muy parecido a Firebug, pero está estructurado de manera diferente, por lo que tiene algún valor usar ambos.
TryHarder
7

Editores:

  • Notepad ++ (para extrema velocidad y simplicidad)
  • Átomo
  • Texto sublime (súper rápido y lleno de funciones)
  • PhpStorm (IDE PHP completo)
  • Netbeans IDE
    Desarrolle rápida y fácilmente aplicaciones de escritorio, móviles y web con Java, HTML5, PHP, C / C ++ y más. NetBeans IDE es GRATUITO, de código abierto y tiene una comunidad mundial de usuarios y desarrolladores.

  • Eclipse PDT (herramientas de desarrollo PHP)
    El proyecto PHP IDE ofrece un marco de entorno de desarrollo integrado PHP para la plataforma Eclipse. Eclipse IDE es GRATIS y de código abierto. Requiere java instalado.

  • Komodo IDE IDE multiplataforma para todos sus idiomas principales, incluidos Python, PHP, Go, Perl, Tcl, Ruby, NodeJS, HTML, CSS, JavaScript y más

FFrewin
fuente
6

Bases de datos

Diseño / Desarrollo / Gestión:

  • MySQL Workbench - (Windows, Mac, Linux)
    MySQL Workbench es una herramienta visual unificada para arquitectos de bases de datos, desarrolladores y DBA. MySQL Workbench proporciona modelado de datos, desarrollo de SQL y herramientas de administración integrales para la configuración del servidor, la administración de usuarios, la copia de seguridad y mucho más.
    Con MySQL Workbench puede trabajar directamente en bases de datos en servidores locales o remotos. Está disponible en Windows, Linux y Mac OS X.


  • Sequel Pro - (Mac)
    Sequel Pro es una aplicación de administración de bases de datos Mac rápida y fácil de usar para trabajar con bases de datos MySQL. Le da acceso directo a sus bases de datos MySQL en servidores locales y remotos.


  • phpMyAdmin (herramienta de administración de MySQL escrita en PHP, que generalmente se encuentra en todos los hosts)
    phpMyAdmin es una herramienta de software gratuita escrita en PHP, destinada a manejar la administración de MySQL en la Web. phpMyAdmin admite una amplia gama de operaciones en MySQL, MariaDB y Drizzle. Las operaciones de uso frecuente (gestión de bases de datos, tablas, columnas, relaciones, índices, usuarios, permisos, etc.) se pueden realizar a través de la interfaz de usuario, mientras aún tiene la capacidad de ejecutar directamente cualquier instrucción SQL.


  • Adminer (similar a phpMyAdmin, pero más simple y liviano)
    Adminer (anteriormente phpMinAdmin) es una herramienta de administración de bases de datos con todas las funciones escrita en PHP. A la inversa de phpMyAdmin, consiste en un solo archivo listo para implementar en el servidor de destino. Adminer está disponible para MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch y MongoDB.


Utilidades de copia de seguridad del servidor

  • MySQLDumper
    MySQLDumper es un proyecto de código abierto (licencia GNU), una herramienta basada en PHP y Perl para realizar copias de seguridad de bases de datos MySQL. Es especialmente adecuado para espacios web de alojamiento compartido, donde no tiene acceso a shell y realmente útil cuando es necesario hacer una copia de seguridad / cargar / restaurar grandes bases de datos, donde los scripts php se están quedando sin tiempo, debido al tiempo máximo de ejecución.

  • phpMyBackupPro
    phpMyBackup Pro es una aplicación de copia de seguridad MySQL gratuita, fácil de usar y basada en la web, bajo licencia GNU GPL. ¡Puede crear copias de seguridad programadas, administrarlas y restaurarlas, descargarlas o enviarlas por correo electrónico y mucho más!

  • AutoMySQLBackup
    AutoMySQLBackup con una configuración básica creará copias de seguridad diarias, semanales y mensuales de una o más de sus bases de datos MySQL desde uno o más de sus servidores MySQL.


Control de versión de la base de datos:

FFrewin
fuente
No estoy seguro de en qué categoría deben ir, pero las herramientas de Akeeba son excelentes: Akeeba Backup y Kickstart para transferir sitios y brindar a las personas no técnicas una forma fácil de hacer sus propias copias de seguridad. Probablemente también valga la pena tener una sección de seguridad, en cuyo caso Akeeba Admin Tools.
Richard B
5

Control de versiones:

Código fuente:

Control de versión de la base de datos:

Puesta en escena del sitio de Joomla

  • Extensión de
    entorno StageIt Staging para Joomla!
    caracteristicas:
    • Crea un entorno de ensayo en segundos
    • Desarrolle en el entorno de ensayo con cero riesgo para su sitio en vivo
    • Realice los cambios que desee: actualice las extensiones, elimine el contenido, etc.
    • StageIt es compatible con TODAS las extensiones de terceros
    • Sincronice el entorno de ensayo con el sitio en vivo en cualquier momento
    • El botón visual le permite cambiar instantáneamente entre entornos
    • Las copias de seguridad automáticas le permiten restaurar su sitio en vivo a cualquier punto de sincronización
    • Configure para trabajar con una variedad de servidores, ¡incluso GoDaddy!
FFrewin
fuente
3

Requisitos del sistema para Joomla! 3.x

También para aquellos que recién están comenzando y desean configurar su entorno, o simplemente necesitan instalar Joomla, estos son los requisitos básicos del sistema para que Joomla funcione:

PHP:


Bases de datos compatibles:

MySQL:

Servidor SQL:

PostgreSQL:


Servidores web compatibles:

Apache:

Nginx:

Microsoft IIS:

  • Recomendado : 7
  • Mínimo : 7
FFrewin
fuente
1
es mejor admitir el enlace a los últimos requisitos, ya que está actualizado: downloads.joomla.org/technical-requirements, por ejemplo, recomienda PHP 5.6 o 7.0+
Tom Kuschel