O Adobe Flex e o AIR community continuam a espelhar muitas das tendências do início da comunidade Java, com numerosos indivíduos oferecendo frameworks que visam simplificar ou melhorar o desenvolvimento Flex. Este post comenta o Swiz Framework, que modela a si próprio depois de muitos dos princípios encontrados no SpringFramework para Java. O Swiz Framework foi desenvolvido por Chris Scott, e é oferecido sob a Apache License 2.0.
Christophe Coenraets, um Evangelista Técnico da Adobe, discutiu o Swiz Framework e detalhou seu uso em um post no blog. Christophe começou descrevendo o Swiz Framework:
No seu core, Swiz é um simples framework de inversão de controle. Usando um framework IoC, os componentes de sua aplicação (por exemplo, Views) não instanciam ou mesmo olham para suas dependências (os objetos com os quais eles trabalham). O framework injeta estas dependências quando os componentes são criados (daí o termo “Injeção de Dependência” também usado para descrever esta abordagem). O resultado é baixo acoplamento e componentes mais reutilizáveis. Os componentes gerenciados pelo Swiz IoC framework são chamados beans.
Em uma aplicação de exemplo do Christophe ele mostra o Spring como síntaxe para injeção:
Swiz usa o metadao customizado [Autowire] para injetar beans dentro de outros beans e views.
No inSync, o contactService RemoteObject é injetado dentro do ContactController.as como segue:
1 2 [Autowire(bean="contactService")] public var contactService:RemoteObject;… e o contactController é injetado nas Views. Por exemplo, no ContactForm.mxml:
1 2 [Autowire(bean="contactController")] public var controller:IContactController;
Em um recente review do Swiz Framework, Tony Hillerson discutiu as funcionalidades de autowiring:
No caso de você não notar, essa coisa de Autowire é doce. Nós não temos que nos preocupar de onde este modelo vem. Nós não temos que pensar se é um Singleton ou não. Tudo o que sabemos é que nós queremos um modelo e o framework certifica-se que nós tenhamos um quando precisarmos. Uma nota de advertência: a property tem que ser marcada como public ou o Swiz não será capaz de atribuir a ela.
Tanto Tony quanto Christophe concluíram que Swiz é um framework que é fácil de usar, Christophe disse:
Foi fácil e agradável trabalhar com Swiz. Ele não é intrusivo e definitivamente introduz algumas idéias interessantes.
Para aprender mais sobre Swiz e suas características olhe o tutorial do projeto.