Foco de execução: Enterprise Web Developer, um quadro Python / YUI

05 de janeiro de 2010 às 06:20 por Rob Tweed | Em Desenvolvimento , Implementações YUI | 1 Comment

Sobre o autor: Rob Tweed é o fundador e co-diretor do Developments Ltd. M / Gateway , que é baseado no Reino Unido. Ele tem trabalhado no desenvolvimento de aplicações desde o início de 1980. Muito de seu trabalho tem se concentrado em torno da saúde de TI, que é consistentemente desafiador, caracterizado por grandes conjuntos de dados complexos, os requisitos de alta segurança e desempenho, e orçamentos limitados. M / Gateway originalmente desenvolveu a tecnologia de portal Web para o produto InterSystems banco de dados de fornecedores 'banco de dados central Caché . M / Gateway 's clientes atuais estão principalmente na saúde e setores de serviços financeiros. Alguns executar aplicativos internos intranet, mas alguns, como o Quest Diagnostics , execute suas aplicações através da Internet aberto para seus clientes em os EUA.

Empresa Web Developer (EWD), uma estrutura Python / YUI

Desde os primeiros dias em 1996, eu queria que as pessoas sejam capazes de utilizar as tecnologias da web como uma interface de usuário para aplicações que eles tinham anteriormente ter considerado o uso de cliente / servidor ou alguma tecnologia GUI para criar outras. Parecia ser a ser uma tecnologia que tinha potencial para ser fortemente automatizados para que os desenvolvedores podem se concentrar em expressar o que eles queriam fazer ao invés de como alcançá-lo.

A única coisa que sempre consternada e me surpreendeu é como a indústria não tem abraçado essa filosofia. Enquanto não houver escassez de web / Ajax frameworks lá fora - parece haver um novo a cada semana - todas elas têm um tema comum: a noção de que uma aplicação web / Ajax é principalmente uma questão de programação. Por outro lado eu tenho firmeza de opinião que a construção de uma estrutura que foi antes de tudo de design com foco, os aspectos de programação pode ser potencialmente automatizado para um nível tal que a programação real necessário, mesmo aplicação de um complexo de saúde deve ser capaz de ser reduzida a níveis quase trivial. Esse tem sido o objetivo do projeto da nossa EWD e isso prova que essa abordagem é prática, viável e altamente benéfico.

Por que Python e YUI?

Nós portado para o EWD livre Open Source NoSQL banco de dados GT.M Munt e Chris, M / Gateway co-fundador, tem desenvolvido uma série de ligações de linguagem que pode utilizar EWD. Nossa série slidecast recente (descritas abaixo) baseou-se em torno de sua ligação Python porque é uma língua tão popular estes dias - relatórios recentes sugerem que ela tem crescido em uso em 45% desde abril de 2008. No entanto, você poderia usar EWD com a mesma facilidade com Ruby ou Java.

Nossa série de screencasts foca EWD / YUI integração por várias razões:

  • YUI fornece um conjunto muito poderoso e altamente funcional e utilizável de UI Widgets
  • ao contrário de muitos dos frameworks Javascript, YUI não é um "tudo ou nada" meio ambiente, de modo que você pode misturar e combinar componentes YUI com o seu próprio
  • YUI é uma biblioteca de código aberto para que, em combinação com EWD e GT.M executado em uma plataforma Linux, a demo é baseado em uma pilha de Fonte Aberta completamente livre
  • ele tem o Yahoo e Douglas Crockford pedigree: o que mais preciso de você dizer!

EWD usa a sintaxe XML para incorporar YUI. Quais as vantagens que esta oferta?

Tornar o trabalho EWD com YUI foi bastante simples, mas logo ficou claro para mim que o desenvolvedor médio enfrentou alguns obstáculos aquando da adopção de um tal quadro Javascript para o seu desenvolvimento UI. Frameworks são ambientes complexos, exigindo uma grande quantidade de conhecimento detalhado da Javacript avançado muito, há uma curva de aprendizagem grande e há um monte de "diabo nos detalhes". Além disso, esse complexo e detalhado Javascript requer manutenção a jusante, muitas vezes por alguém que não o desenvolvedor original. Além disso, para mim, eles apresentaram ainda um outro exemplo de como a solução da indústria para web / Ajax de desenvolvimento de aplicações estava se movendo no sentido de programação e longe do de habilidades dos designers.

Desde os primeiros dias de EWD eu assegurou que era usuário extensível, permitindo que você para encapsular a funcionalidade e comportamento como XML-based "tags personalizadas", e eles provaram ser uma solução perfeita para incorporar YUI. As etiquetas personalizadas YUI eu demonstrei são, portanto, uma extensão personalizada de EWD. As tags YUI personalizado não só gerar todas Javascript necessárias pelo widget correspondente, que também gerenciam a destruição do widget no tempo correto, e incluem otimizado "just in time" carregamento do correto. Js e arquivos. Css, deixando o desenvolvedor não precisa se preocupar com todo o material de configuração que up-front. Outra característica fundamental de tags XML é que eles são inerentemente nestable, e geralmente isso é exatamente o que você precisa fazer com widgets YUI: menus e datatables aninhada dentro patilha painéis, por exemplo. Assim, as reais vantagens são que o desenvolvedor pode expressar o que ele / ela quer fazer em apenas alguns intuitivamente nomeados e definidos tags personalizadas. Não só tornar o desenvolvimento rápido e simples, mas a manutenção a jusante também se torna muito simples (e lembre-se que um dos principais custos e despesas gerais de uma grande aplicação de missão crítica é a manutenção).

Um bom exemplo é o uso de tabview widgets. No EWD estes podem ser descritos por um simples, intuitivo (e, portanto, altamente sustentável) conjunto de nested XML etiquetas personalizadas, por exemplo:

 <yui:TabView>
     <yui:Tab label="By Artist" active="true" dataSrc="selectCDXArtist.ewd" />
     <yui:Tab label="By Title" active="false" dataSrc="selectCDXTitle.ewd" />
 </ Yui: tabview>

A yui: processador tabview Custom Tag do tag é invocado pelo compilador EWD é quando ele encontra uma instância dessa tag, e ele gera o código em tempo de execução que irá enviar o apropriado YUI tabview Javascript e HTML associados marcação para o navegador.

Série de instrução EWD

Nós fizemos uma série de screencasts para introduzir EWD. Aqui está parte:

O objetivo do screencasts foi demonstrar o nível extremo de automação de EWD quando usado para o seu pleno potencial. Eu também queria demonstrar como, no EWD, você está muito descrevendo o que você está querendo atingir, deixando EWD para fazer todo o trabalho e como lidar com todas as coisas do dia-a-dia que são essenciais para uma aplicação web mas que podem e devem ser automatizados, gerenciamento de sessão por exemplo, gerenciamento de segurança, etc Espero que quando as pessoas assistem aos vídeos que eles vêem como a programação pouco foi deixado para um programador para fazer: é basicamente buscar dados do banco de dados, validação de campos de formulários contra um banco de dados e salvar os dados de volta para um banco de dados.

Eles sempre dizem que uma imagem vale por mil palavras, e eu acho que um vídeo é ainda mais potente. É ver para crer, e não há nada como ser mostrado como uma ferramenta pode ser usada pelo cara que desenhou e escreveu isso!

Eu escolhi a explorar um conjunto de interações típicas UI para uma aplicação média que pode ser demonstrado no espaço de cerca de uma hora. Eu também queria demonstrar como assentamento dos componentes UI foi possível usando tanto o aninhamento de tags inerentes YUI personalizados e "fragmento" EWD de arquitetura baseada em Ajax. A demo inclui login em uma aplicação, um menu principal, painéis guia para escolher as medidas necessárias e uma consulta no banco de dados, cujos resultados são apresentados em uma DataTable. Esperemos que o fato de que eu tenho sido capaz de demonstrar como todas as funcionalidades que podem ser criados em pouco mais de uma hora mostra o poder e benefício do EWD como uma estrutura de desenvolvimento. E em termos de manutenção, todo o aplicativo eu demonstro é descrita em apenas 134 linhas de simples HTML / XML de marcação e apenas 78 linhas de código Python direto!

Onde as pessoas podem obter EWD para experimentá-lo por si mesmos?

A forma mais rápida e simples de obter um sistema totalmente funcional EWD em funcionamento é a utilização de nosso livre Installer M / DB . Fizemos um screencast para este também.

Actualmente, o EWD / YUI Custom Tag biblioteca, geralmente não é disponível, mas nós estamos esperando para poder liberá-lo em breve.

Temos também um fórum para os usuários EWD que as pessoas são muito bem-vindos.

Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!

1 comentário

  1. [...] Traduz seu código para JavaScript, usando YUI como uma camada de fundação. Com YUI sendo disponível a partir de Python, Java e JavaScript, um quarto de todos os desenvolvedores tenha acesso aos YUI. E com 18%, Fybit de [...]

    Pingback por Fybit Riatrax4Js: Programa YUI em Java »User Interface de Yahoo! Blog (YUIBlog) - 02 de fevereiro de 2010 #

Desculpe, o formulário de comentário é fechado neste momento.

Hospedado por Yahoo!

Copyright © 2006-2011 Yahoo! Inc. Todos os direitos reservados. Política de Privacidade - Termos de Serviço

Alimentado por WordPress em Yahoo! Web Hosting .