Modern Magento 1.X Workflow y herramientas de desarrollo

53

Soy nuevo en Magento Development (CE 1.6) y todavía estoy tratando de definir mi flujo de trabajo. Actualmente desarrollo en Mac OSX 10.8 con Netbeans 7.3, pero encuentro que Netbeans es lento y se congela. Tiendo a cambiar a Sublime Text 2 para ver / editar rápidamente los archivos, o simplemente voy a ver Vim a veces por conveniencia.

Mis preguntas :

  1. " ¿Cómo se ve un flujo de trabajo moderno de Magento 1.X? "
  2. " ¿Qué herramientas / configuraciones / complementos son los más adecuados para el desarrollo de Magento? "

Sé que esto es algo subjetivo, y no habrá 'un flujo de trabajo para gobernarlos a todos', pero también creo que todos ustedes, desarrolladores certificados / experimentados, tendrían algunas opciones comunes. Por lo menos, esperaría algo de conocimiento probado en batalla.

Agradecería cualquier aportación / comentarios / sugerencias.

¡Gracias!

ryanF
fuente
1
stackoverflow.com/questions/4609010/… posiblemente pregunta SO relacionada, con una entrada similar.
B00MER 01 de

Respuestas:

61

Estoy de acuerdo en que la lista es subjetiva, pero sugiero las siguientes excelentes herramientas que uso todos los días:

Vinaí
fuente
1
+1 para Vinai. En cuanto a la configuración del servidor local, tal vez agregue Vagrant a la lista, pero también me gusta mucho el paquete PHP de Liip, que instala el último PHP en OSX con un php.ini decente. Ver php-osx.liip.ch . Para las modificaciones rápidas, quizás eche un vistazo a Textmate. No es tan rico en funciones como ST, pero es gratis ;-)
mnp
1
@ryanF probablemente no hace falta decirlo, pero agregaría que esté trabajando con un hardware decente. Conozco personas que usan Sublime simplemente porque no tienen una máquina lo suficientemente rápida como para hacer que trabajar con un IDE como PHP Storm sea rápido.
kalenjordan
44
También era usuario de Netbeans, pero probar Phpstorm + Magicento me convirtió en un desarrollador feliz :)
Sergei Guk
1
En OS X PHPStorm es mucho más ágil que NB
Vinai
1
Acabo de crear una nueva barra de herramientas / perfilador de desarrollador, tal vez sea su suite :) github.com/ecoco/magento_profiler
Fantus
20

Las otras respuestas dan una buena lista de herramientas para trabajar. El flujo de trabajo dependerá en gran medida del tipo de proyectos y personas involucradas. Si está comenzando, le sugiero que invierta en lo siguiente:

1.) Automatice la instalación de Magento
Configure un proceso de 1 comando / clic para instalar Magento incluyendo datos de muestra. Herramientas mencionadas para este
n98-magerun
mage-ci
jumpstorm
o su propio script. Algunos punteros se pueden encontrar aquí .

La idea para esta parte es que puede crear una instancia nueva con configuraciones repetibles sin mucho esfuerzo (en el momento en que se realice el esfuerzo, dudará / será flojo para crear una nueva instancia)

2.) Desarrolle y pruebe con la instancia configurada en 1.).
Para el desarrollo me he encontrado con dos líneas de pensamiento:
a.) Magento Core es parte de su proyecto
Mucha gente usa modman aquí, para mantener sus archivos fuera de la estructura de carpetas de Magento, así que asegúrese de revisar esto también.
b.) El proyecto solo incluye los archivos de extensión / tema
Tanto Phpstorm como Netbeans le permiten implementar al guardar en una ubicación específica (su carpeta raíz de Magento, también puede ser una instancia en línea a través de FTP). Usando Magicento para Phpstorm puede compensar las desventajas de este enfoque (insinuación de clase, ver herencia, finalización automática ...) Mi intuición aquí es que si está desarrollando para un cliente en particular, iría por 1.) con el objetivo Versión de Magento instalada y si tiene la intención de admitir varias versiones de Magento, optará por 2.)

3.) Comparta el código con la
implementación del equipo en un entorno donde su código se pueda probar junto con el trabajo de sus colegas

4.) Comience su proceso de control de calidad / implementación

En general,
use un sistema de control de versiones distribuido (git, mercurial, ...)
incluya pruebas (pruebas unitarias , integración )
automatice lo que puede
leer mucho: siga a algunos de los expertos que comparten libremente sus conocimientos (consulte sus blogs / github personales) cuentas). La mayoría de las veces esto le ahorrará mucho tiempo y aprenderá más rápido que intentar descubrirlo todo usted mismo.

¡Feliz codificación!

Kristof en Fooman
fuente
Gracias por tu respuesta detallada. Agradezco los comentarios sobre consejos para desarrollar un buen flujo de trabajo. Tomaré en cuenta todas sus aportaciones. ¡Gracias de nuevo!
ryanF
13

Personalmente me gusta:

Fabian Blechschmidt
fuente
¡Gracias por sus adiciones a esta lista! Muy buenas herramientas ofrecidas aquí. También aprecio el enlace a su barra de herramientas mejorada MGT Developer. Es genial tener una idea de lo que utilizan los profesionales de la industria.
ryanF
11

Puedo aconsejar las siguientes herramientas para el desarrollo de Magento.
1. PhpStorm : IDE excelente e inteligente para el desarrollo de aplicaciones PHP.
2. magicento plug-in para PhpStorm. Complemento muy útil para la automatización del desarrollo de Magento.
3. Barra de herramientas de depuración para la tienda Magento.
4. Barra de herramientas de desarrollador avanzado para la tienda Magento.

Y excelentes fuentes y tuts aquí:
http://alanstorm.com/category/magento
http://inchoo.net/
http://magebase.com/category/magento-tutorials/
http://fishpig.co.uk/ Blog/

mageUz
fuente
Gracias por ofrecer comentarios. Parece que el IDE de PhpStorm es popular en este momento, especialmente con el complemento Magicento. Creo que los complementos de Magento (# 3 y # 4) son realmente geniales. Con respecto a los enlaces a los tutoriales, ya los he encontrado (¡Gracias por confirmar que son buenas fuentes!), Y sí, el material de Alan Storm también está en la cima para mí. También he encontrado Fundamentos de Desarrollo de Magento Magento U'" serie para ser realmente bueno hasta el momento (Acabo de empezar) Gracias.!
ryanF
8

Añadiría una cosa más a la lista:

Cuando desarrolle servicios web para Magento, por ejemplo, cuando utilice la API SOAP, esta herramienta lo ayudará a realizar fácilmente solicitudes y escribir pasos repetibles para probar flujos de trabajo (inicio de sesión, recuperar pedidos, obtener detalles de primer pedido, crear factura):

http://www.soapui.org/

mpaepper
fuente
3

Una nueva barra de herramientas / perfil de desarrollador completamente nueva se basa en el increíble perfil web de Symfony y le muestra casi todo, desde traducciones faltantes hasta consultas de bases de datos y tiempo de representación de bloques individuales, etc.

https://github.com/ecoco/magento_profiler

Fantus
fuente