Apenas para repetir as partes importantes acima, os aplicativos Magento 2 devem usar as APIs oficiais do Magento 2, não o Zend diretamente. Portanto, os desenvolvedores não devem se preocupar com o que construímos.
Para mentes curiosas, o Magento 2 usa bits de diferentes estruturas. Usamos o acesso ao banco de dados a partir do Zend 1. Investigamos a mudança para o Doctrine, mas foi muito trabalho para a versão Magento 2.0.0. No entanto, podemos fazê-lo em 2.1, 2.2, 3.0 ou ... (ainda não há compromisso). Quando chegamos a isso, também podemos mudar de idéia quanto ao uso de ZF1, ZF2, Doctrine etc. com base nas novas informações disponíveis. O Magento 2 também pode ter um arquivo YML (o que significa que usamos parte do Symfony). Uma parte do instalador usou parte do ZF2 (devemos desenvolver um novo aplicativo no ZF1?), Mas isso pode mudar. Também vimos uma pequena parte do Angular que possivelmente parecia interessante para MV * em JavaScript.
Mas assim que você estiver olhando o que está sob a estrutura Magento, provavelmente estará fazendo a coisa errada. O código do seu aplicativo não deve se importar. Você deve usar as APIs "oficiais" fornecidas pela estrutura Magento, para que possamos alterar os internos sem afetar os sites ou extensões existentes do cliente. Por "oficial", documentaremos quais APIs são APIs "suportadas" (ainda não foram muito bem executadas) - para tornar as atualizações mais confiáveis, manteremos essas APIs o mais estável possível, mas faremos alterações no código subjacente base para melhorar o desempenho etc.
Nota: Eu não olho nessa área com muita frequência - as perguntas do Magento 2 são assistidas no rastreador de problemas do GitHub. Estamos tentando mantê-los todos lá no momento.