ZendAMF – Conclusão e opinião!

ZendAMF – Conclusão e opinião!

 


ZendAMF

 

 

Depois do meu post ZendAMF – Novidade, analise (vs amfPHP) e tutorial e depois de mer finalmente terminado a migração completa de um CRM/ERP de php+javascript/ajax+myslq para o flex usando o zendAMF venho aqui dar uma opinião pessoal depois de ter trabalhado bastante com o zendAMF e com o amfPHP.

Se o que eu queria dizer era: o zendAMF é muito melhor que o amfPHP, eu não o posso dizer, mas passo a explicar o porquê anotando algumas ideias que até já tinha trocado com o fabio vedovelli.

Bem, o zendAMF deu-me a ideia de ser muito mais rapido, simples e leve, mas com um grande problema, como não têm explorer como o amfPHP pode tornar-se muito mais complicado, principalmente na deteçao de erros que foi realmente o que me deu mais trabalho. A ausencia deste explorer e da não visialização dos erros do php, leva a que se faça uma grande atenção à programação do php, levando assim a que melhoremos a nossa “maneira” de programar php, embora compreenda que não só para iniciantes seja um GRANDE problema. Eu próprio para desvendar alguns dos erros do php tive que recorrer aos logs do apache….

Outro dos pontos que me pareceram menos bons, foi encontrar alguns problemas com a passagem de um arrayCollection do as3 pro zendAMF que por vezes chega ao zendAMF em objecto e outras vezes em array composto,  (sim, o mesmo arrayCollection) o que nos leva a ter que tratar o mesmo arrayCollection de maneiras diferentes, quer como $dadosDoAs3->campo1 quer como $dadosDoAs3[‘campo1′], o que nos leva a ter que criar mais umas linhas de código no php mas nada que uma simples comparação com os is_object() ou is_array() do php não resolvesse, embora tenha que estar a fazer esta verificação sempre que passo um arrayCollection ou um Array/Objecto de multi-linhas/camadas o que me deu algum desconforto principalmente por perca de tempo, coisa que no amfPHP não aconteceria.

De resto, 5 estrelas, muito mais simples na hora de trabalhar com funções da mesma classe, ou aceder a definições nas diferentes classes no mesmo servidor, coisa que não era possivel no amfPHP, quanto ao mapeamento de objectos, agora ficou brincadeirinha de criança.

o Sistema/estrutura de pastas é simples e muito mais flexivel, podendo ou não ter uma estrutura de pastas com as classes, o que torna muito simples a organização do nosso jeito. Notei ainda um ou outro ponto menos bom, mas nada que afectasse o sistema ou o funcionamento final da aplicação.

Notas finais, o zendAMF demonstrou ainda estar a caminhar para atingir a perfeição e assume muitos pontos iguais ao amfPHP, mas tende mais para a simplificação o que me agrada imenso e deve agradar aos seguidores do amfPHP. Por outro lado, ainda com os defeitos em cima será com certeza um obstaculo aos que se estão a iniciar. Bom, o amfPHP é melhor em muitos pontos “easy-to-use” , mas dificilmente voltarei ao usa-lo, zendAMF é a minha aposta agora. 

Fica a minha opinião.

Abraço.


4 comments

add yours
  • Wade Arnold April 1, 2009

    I have never seen the arraycollection error that you talk about. Can you please open a bug in the issue tracker. Please supply code in your bug report!

    That you had issues with error handling means that there was something that zendamf is nt catching. Please open a feature request in the zend framework issue tracker for handling the bug that you encountered.

    Finally the zend framework 1.7.8 mini release was required to add a service browser. Look for an announcement on wadearnold.com/blog/ within the week.

    Thanks for taking the time to work with zend amf. I am working hard to make it the most robust amf implementation in php. Sometimes you have to take a step back before you can take a step forward.

    wade arnold

  • José Carlos Fiel April 29, 2009

    Olá Mario,
    Realmente tive o mesmo problema que você sobre os erros, fica complicado de controlá-los. Mas não sei se conhece, mas é bom lembrar que existe o metodo do Zend_Amf_Server chamado setProduction(FALSE), onde passamos o parametro FALSE para exibir todas as execessões ou TRUE para simplesmente escondê-las. Pelo menos todas as execessões levantadas conseguiremos pegar e exibir no faultResult do RemoteObject do Flex.
    Abraços,
    José Carlos Fiel

  • marcelo November 30, 2009

    Existe um browser para o Zend AMF feito em Flex (AIR), ainda não testei mas é bom poder contar com esta ferramenta.

  • Patrick December 28, 2009

    Realmente o ZendAmf tem um problema em relacao ao envio para o PHP, as vezes envia como array e outras como object, porem acretido que seria so converter o parametro para object.
    $parametro = (object)($parametro);

    Abraco

Leave a Comment

Post