Solo para repetir las partes importantes anteriores, las aplicaciones de Magento 2 deberían usar las API oficiales de Magento 2, no Zend directamente. Por lo tanto, a los desarrolladores no les debería importar sobre qué construimos.
Para las mentes inquisitivas, Magento 2 utiliza bits de diferentes marcos. Utilizamos el acceso a la base de datos de Zend 1. Investigamos el cambio a Doctrine, pero fue demasiado trabajo para la versión Magento 2.0.0. Sin embargo, podemos hacerlo en 2.1, 2.2, 3.0 o ... (sin compromiso aún). Cuando lo hagamos, también podremos cambiar de opinión sobre si usar ZF1, ZF2, Doctrine, etc. según la nueva información disponible. Magento 2 también puede tener un archivo YML (lo que significa que usamos parte de Symfony). Una parte del instalador usó algo de ZF2 (¿deberíamos desarrollar una nueva aplicación en ZF1?), Pero esto puede cambiar. También vimos una pequeña parte de Angular que posiblemente parecía interesante para MV * en JavaScript.
Pero tan pronto como esté buscando lo que está debajo del marco de trabajo de Magento, probablemente esté haciendo lo incorrecto. Su código de aplicación no debería importarle. Debería utilizar las API "oficiales" proporcionadas por el marco de trabajo de Magento para que podamos cambiar las partes internas sin afectar los sitios o extensiones de clientes existentes. Por "oficial", vamos a documentar qué API son API "compatibles" (aún no se han hecho muy bien); para que las actualizaciones sean más confiables, vamos a mantener estas API lo más estables posible, pero haremos cambios en el código subyacente base para mejorar el rendimiento, etc.
Nota: No busco en esta área muy a menudo: las preguntas de Magento 2 se ven en el rastreador de problemas de GitHub. Estamos tratando de mantenerlos a todos allí en este momento.