34. • http://genexus.com/trial
• Palestras relacionadas:
• Um Ano de GeneXus X Ev2 - Sala Faria Lima I, hora: 14:30
• GeneXus Tilo – Sala Faria Lima I, hora: 15:30
• Alex Melo, Suporte GeneXus, amelo@genexus.com
• Simone Erbs da Costa, Instrutora Senior e Certificadora
GeneXus, capacitacao@genexus.com
Notas do Editor
Bomdia, bem-vindos a palestra O que é SD?GeneXus X Evolution 2, última versão liberada de GeneXus!
Bem, emprimeirolugarpodemosvercomo o mercado de SmartPhonescresceu, sobretudoosdoisprimeiros Android e IOS. Mas o queaconteceu com os tablets:
Este mercadoestaexplodindo, no ano de 2011 foramvendidos 60 milhões de tablets, ano de 2012 foiestimadoqueiafechar com 120 milhoes.Um fatoimportante é que, ao inves do queocorre com ostelefones, nos tablets tem um dominadorabsolutoque é a Apple com seuiPad.Outro fatoimportante é queestafaltando um jogadorimportantenestemercado, euvoufalardestetema um poucomaisadiante.Passemos a outrapergunta…
Aquitambémosnumerossãoimpressionantes.O maior Store é a Apple App Store con 700K apps, das qauis 90% teve um download no ultimo mes. Outro númerointeressantissimodesta store é quepagouaosdesenvolvedoresmais de 5.500 milhoes de dolarespelavenda de aplicações. Google Play é algomenoremnumero de apps e muitomenoremdinheiro, mas de qualquer forma osnumeroscontinuamsendorelevantes.
Podemosescolher o dispositivo?
Esta claro que nao!
O doiscenarios sao validos:Web com html5 vemsendouma alternativa, principalmente porque nao se precisa aprender de uma nova linguagem. Native parece ser a opcao preferida pelos usuarios , pelo nivel de integracaocom o dispostivo, rapidez , melhorasna UX (userexperience). Mas claramente se precisa aprender novoslinguagem (objective-c, java para android, etc)…..
Masnão é somenteumalinguagem nova, vem este stack tecnológico.Isto, é parte do que está atrás de umaaplicação completa. Que tem que acessar a paitir de smartdevices, ouexecutarnum browser como site Web independenteou dentro Facebook, com os dispositivos que lhespareçamaiscomodos ..E depoistemos a Cloud: A app web, os serviços, tem que escalar, tem que ser segura, tem que trabalharcom dados como sempre, e podem estar em diferentes linguagens no server para isso.Isto, visto assimassimou como queiram ver, é muito complexo. Mas é o que o GeneXus faz fácil. De fazer que cada peçadessequebracabeçaencaixeperfeitamente, nós nos preocupados com o restante, para que vocêssomentetenham que saber GeneXus.Para isso GeneXus teve que evoluir.
Enquantotrabalhamosnaevolução de Web e Web mobile, criamos umgerador adicional. Um generador para aplicaçõesmóveis nativas. Por quê?
Porque está namissão da Artech gerar o melhor para cada plataforma lider. E o melhorhoje, sãoaplicações nativas. Por quê? Porque os usuarios se sentemmais cómodos comelas, porque tem funcionalidades que definitivamente dessa forma funcionammelhor. São as que seususuáriosquerem.E isso é assim específicamente tambémnestas 3 plataformas que escolhemos. iOS por ser o criador da revoluçãoAndroid por seu crecimiento impressionanteBlackberry por sua base instaladaAgora, para que os usuarios as queiram, tem que cumprirmuitos requisitos, e GeneXus os cumpre
Que tipo de aplicaçoessãonossofoco : as que chamamos de “versão SD para apptradicionais” Isto é, aquelas que serãoum componente a mais de nosso sistema operacional, ERP, etc. Ex: Aprovação de ordensDashboardsBroker online-as Consumer Apps. apppessoais….
As app nativa tem que aproveitar todas as vantagens do dispositivo.Antes de mais nada: A característica principal que habilita muitas novas ideias, negócios e agrega valor, está baseadonaintegração que a aplicaçãoobtemcom as características do aparelho, seu sistema operativo, e nainteroperabilidade que possuicomintegraçãocomoutrasaplicações e dentro destas: integração social: compartilhar por mail, twitter, e demais
Paraisso GeneXus oferece 2 coisas principalmente:Primero comportamentos predefinidos,comportamento que agregamos a dominios existentes. Como na Web.
E depoisuma API completa para acesar e interagircom todos os recursos e aplicaçõesmaiscomuns.
Dadas as funcionalidades do dispositivo, as características detamanho e a interface touch, foinecessáriotambém fornecer novosusercontrolsPrimeiromuitos controles para evitar que o usuario tenha que escreverou digitar
Controles para grids,com paginado horizontais como a da esquerda, e verticais como a da direita.Tudo o que é un grupo repetitivo, não importa como seja mostrado, temsomenteumconceitoem GeneXus e então é bem fácil: é umgrid
Depoisoutra característica destegerador é que geraaplicações que temumcomportamento nativo, umlool & feeladequado a cada plataforma.
Omesmoocorre com essabarraquevemacimaque se chama Application Bar:Nom iPhone tem um botãoacima a esquerda, mas emAndroid não, porqueessebotãojá é fornecido no dispositivo.En Android lo queesperoes un botónparavolver a la pantalla principal.Para osquedesenvolvedores a mao, quenao tem umaferramentamultiplataformaadequada, jáaqui, nessedetalhe, começador de cabeça.Mas quemdesenvolveem GeneXus, a vida é um poucodiferente. Para obterque um menu sejavistocomo se tem queveremcadadispositivo, tem que se fazeristo: NADA!
Um exemplo simplessãoosdashboards ou menus. Em Android se esperadistintasformas, queinclusodependem da versão de Android; e emiOS de uma forma distinta.Ousejanão é que GeneXus tem quegerar o mesmo de cadacaso, mas sim tem quegerar da forma que o usuárioespera.
Eissoem GeneXus se faz assimCriou 2 themes, um para Android e umparaiOS e especificouem GeneXus qual corresponde a qual plataforma.
Mas vamos subir o nivel de dificuldadenovamente.O que vimos é Pesobooknumtelefone Android. Agora vejamos PesobookemiPad. O ponto é que o mesmo, somente que emiPadestou vendo muitinfmaisinformação.Entãojá que não é questão de que GeneXus coloque o correto no lugar correto, ou use o tema adequado, é que temmuitomais campos, muitomaisespaço para mostrar informaçãoemiPad
O que foi visto é resultado de programar 2 telas distintas. Mas no mesmo objeto. Reaproveitou eventos, regras, condições, variáveis; simplemente disenhe 2 pantallas layouts, um para iPad e outra para Android phone.De fato GeneXus tem tanta potencia nisto, que pode desenharlayouts distintos para cada plataforma, tamaho de dispositivo, orientação e si é uma tela de ediçãoou de visualizaçãoIsso da uma potencia incrível, já que se temumasolução para a fragmentação que tem.
EmGeneXus temosnovos objetos, mas que quereutilizam os conceitos de sempre: Menu, Panel, Tema e Trabalhar Com.
Quandofazemos o build de umaapp Online, se geram:O pacote que vai ser instalado no proprio dispositivo, que incluiumametadatacom toda a info das telas, mas código nativo para administrar os eventos e açõeslocais, aquelas que interagemcom as funcionalidades própias do dispositivo, como a camara, GPS, agenda, etc. Alémdisso:Criação da base de dados no servidor remoto ounanuvem. Geração de todos os serviçosnecessários para a appinteragircom a base de dados e executarprocessos. Istoinclui a geração de Procedures, Data Providers em BC (muitos deles invisíveis para o usuário por seremgeradosatraves do pattern WWSD) e que sãoexecutadosatravés de servicios REST , trocando mensagens JSON. Nota: Para maisdetalhe sobre a arquitetura de umaapp Online, ver apresentação de Arquitectura por Luis Murillo:http://www.genexus.com/encuentro2012/xxii-encuentro-genexus--conferencia?es,0,,2837
Mas temmais, tanto aplicaçõesempresariais como de consumidores, podemaproveitar o poder dos servidores de aplicações, se integrar ao resto.Isso é a outra das características destegerador: seubusinesslogic está no servidor, podem integrarse com o resto de suasaplicações e também: reutilizar toda a lógica de negocios que jatem programada: seusserviços, suastransaçõesoubusinesscomponents, seusprocedimentos
E para o que não suportamos? Hay una vía clara: GeneXus é extensível e este geradortambém, assimpodem ser feitosseusprópriosusercontrolsou integrar bibliotecas nativas externas.Temospartners que podemajudar, específicamente estas imagensforam de Armando Cardoso de Simplifica , como veem : controle para assinatura, umagaleria de imagens, e tambémimpressão para bluetooth.
Passemosagora a funcionalidades que afetam todos seus componentes.Um é a segurançasegurança
Temos um módulo novo, o GeneXus Access Manager.É um módulo que está integrado no IDE de GeneXus, que está built in com GeneXus, que pode usar ou não, mas quando utilizado, tem muitas vantagens.Ele resolve a autenticação e autorização. É role based.Tradicionalmente vocês tinham que desenvolver esse módulo. Mas desenvolver um módulo de segurança não é facil. Nós vimos muitos módulos de segurança desenvolvidos mal por nossos clientes. Tinham que ter muito conhecimento específico de quasei hackers para fazer algo realmente seguro.Este módulo resolve isso e, como está direitamente incluso no GeneXus, pode resolver várias coisas da melhor forma.Vocês podem habilitar a segurança simplemente com umas propiedades.Tem a opção usar só a autenticação ou que ele resolva também a autorização.Se agrega uma capa de segurançaO Módulo vem com exemplos e com uma completa API para usar.
Enquantotrabalhamosnaevolução de Web e Web mobile, criamos umgerador adicional. Um generador para aplicaçõesmóveis nativas. Por quê?
Estrategia de algumas empresa, que recomendamos: Pensar grande , comenzar pequeno (Caso donde esta el cajero de De Larrobla)+250.000 downloads (somente das nossas)