Titanium
Appcelerator
Primeiro contato com Titanium Studio em Fev/2011
Primeiro app publicado em Ago/2012
Dois apps vendidos / desenvolvidos sob demanda
Um app "banido" do Google Play
Desenvolvimento e venda de módulos para o Titanium
Diversos projetos pessoais e laboratórios…
Arley Andrada Maria
Full Stack Developer
FUNDEP / UFMG
ArlSoft Tecnologia / 3 Turnos
Apresentação e Experiência
Titanium Studio
"Desenvolvimento de apps totalmente nativos, multi
plataforma, utilizando JavaScript"
Android - iOS - Windows Phone - Tizen
Blackberry - Mobile Web HTML5
Appcelerator Platform
Plataforma composta por IDE de desenvolvimento,
framework MVC integrada, API integrada com um serviço
de back-end completo, ferramentas para testes
automatizados, sistema de monitoramento e suporte.
Produtos
Arquitetura
Arquitetura
Arquitetura - Alternativas
Sencha
PhoneGap
Cocos2d
Unity 3D
Corona
Qt
Xamarin
Alpha
Anywhere
5App
Uncanny Valley
Hyperloop
Nova arquitetura do Titanium (mudanças significativas)
Mínimo impacto para migração
Aumento de performance
Redução do tamanho do app
Acesso completo e direto às APIs nativas
"Variação" da linguagem JavaScript com novo
compilador
Código-fonte aberto
http://www.appcelerator.com/blog/2014/12/introducing-hal
http://www.slideshare.net/connysvensson/hyperloop-35052105
https://github.com/appcelerator/hyperloop
Reforce seu conhecimento da linguagem JavaScript,
tanto para suas características de orientação a objetos
quanto para programação assíncrona, uso de callback
e processamento em uma única thread
Experiência com Node.JS
Modularização com CommonJS
Utilize a framework MVC nativa (Alloy) e lembre que terá
à disposição as bibliotecas Backbone,
Backbone.Events, Underscore, Moment, entre outras…
Dicas
Poder utilizar a mesma linguagem no desenvolvimento
do aplicativo e também no desenvolvimento das APIs e
do back-end (Node.JS) traz algumas facilidades
Estude, experimente e domine o funcionamento dos
sistemas de layout e flutuação para conseguir
desenvolver apps que possam se adaptar às diferentes
resoluções e com o mínimo de customizações por
plataforma
vertical, horizonta, composite
Ti.UI.FILL, Ti.UI.SIZE, auto
Dicas
Dicas
Acostume-se e faça uso sempre de desenvolvimento
baseado em eventos (por módulo, componente ou
globais) em pról de uma melhor experiência do usuário
Remova as inscrições de eventos não utilizados
Não tente fazer com que o app fique visualmente igual
em todas as plataformas. O ideal é tirar proveito e
manter as características de cada plataforma
Minimize o uso de imagens e dê preferência para os
elementos nativos
Dicas
Utilize padrões de "programação defensiva" pois o
volume de variáveis no desenvolvimento de apps é
muito alto e relativamente imprevisíveis
Se pode dar errado, vai dar errado!
Minimize o uso de recursos, minimize operações longas
e sempre mantenha um retorno visual para o usuário e
evite "bloquear" a "navegação" do usuário
Uso de eventos
Escolha correta de componentes
ListView x TableView
Carregar informações conforme a demanda
Boas práticas de desenvolvimento
Dicas
Dicas
Dicas
Evite utilizar WebView para contornar dificuldades para o
desenvolvimento de uma interface
Se precisar armazenar dados símples, utilize as
"propriedades" (Ti.App.Properties) ao invés de salvar
em banco de dados
Sempre que possível teste seu aplicativo em um
dispositivo real
Para Android é mais rápido publicar para o dispositivo
do que para o emulador (mesmo com o
Genymotion)
Dicas
Dicas
Utilize log para "rastrear" a execução do código ao invés
de utilizar o modo de debugação
Utilize o recurso de Liveview para o desenvolvimento de
interfaces
Busque ajuda através da comunidade / fóruns da
Appcelerator que é muito ativa e moderada por
desenvolvedores reais e experientes
Não utilize para fazer propaganda
Mantenha o código organizado e legível
Obrigado!
Arley Andrada Maria
arleyandrada@gmail.com
arleyandrada

Titanium

  • 1.
  • 2.
    Primeiro contato comTitanium Studio em Fev/2011 Primeiro app publicado em Ago/2012 Dois apps vendidos / desenvolvidos sob demanda Um app "banido" do Google Play Desenvolvimento e venda de módulos para o Titanium Diversos projetos pessoais e laboratórios… Arley Andrada Maria Full Stack Developer FUNDEP / UFMG ArlSoft Tecnologia / 3 Turnos Apresentação e Experiência
  • 3.
    Titanium Studio "Desenvolvimento deapps totalmente nativos, multi plataforma, utilizando JavaScript" Android - iOS - Windows Phone - Tizen Blackberry - Mobile Web HTML5 Appcelerator Platform Plataforma composta por IDE de desenvolvimento, framework MVC integrada, API integrada com um serviço de back-end completo, ferramentas para testes automatizados, sistema de monitoramento e suporte. Produtos
  • 4.
  • 5.
  • 6.
    Arquitetura - Alternativas Sencha PhoneGap Cocos2d Unity3D Corona Qt Xamarin Alpha Anywhere 5App
  • 7.
  • 8.
    Hyperloop Nova arquitetura doTitanium (mudanças significativas) Mínimo impacto para migração Aumento de performance Redução do tamanho do app Acesso completo e direto às APIs nativas "Variação" da linguagem JavaScript com novo compilador Código-fonte aberto http://www.appcelerator.com/blog/2014/12/introducing-hal http://www.slideshare.net/connysvensson/hyperloop-35052105 https://github.com/appcelerator/hyperloop
  • 9.
    Reforce seu conhecimentoda linguagem JavaScript, tanto para suas características de orientação a objetos quanto para programação assíncrona, uso de callback e processamento em uma única thread Experiência com Node.JS Modularização com CommonJS Utilize a framework MVC nativa (Alloy) e lembre que terá à disposição as bibliotecas Backbone, Backbone.Events, Underscore, Moment, entre outras… Dicas
  • 10.
    Poder utilizar amesma linguagem no desenvolvimento do aplicativo e também no desenvolvimento das APIs e do back-end (Node.JS) traz algumas facilidades Estude, experimente e domine o funcionamento dos sistemas de layout e flutuação para conseguir desenvolver apps que possam se adaptar às diferentes resoluções e com o mínimo de customizações por plataforma vertical, horizonta, composite Ti.UI.FILL, Ti.UI.SIZE, auto Dicas
  • 11.
    Dicas Acostume-se e façauso sempre de desenvolvimento baseado em eventos (por módulo, componente ou globais) em pról de uma melhor experiência do usuário Remova as inscrições de eventos não utilizados Não tente fazer com que o app fique visualmente igual em todas as plataformas. O ideal é tirar proveito e manter as características de cada plataforma Minimize o uso de imagens e dê preferência para os elementos nativos
  • 12.
    Dicas Utilize padrões de"programação defensiva" pois o volume de variáveis no desenvolvimento de apps é muito alto e relativamente imprevisíveis Se pode dar errado, vai dar errado! Minimize o uso de recursos, minimize operações longas e sempre mantenha um retorno visual para o usuário e evite "bloquear" a "navegação" do usuário Uso de eventos Escolha correta de componentes ListView x TableView Carregar informações conforme a demanda Boas práticas de desenvolvimento
  • 13.
  • 14.
  • 15.
  • 16.
    Evite utilizar WebViewpara contornar dificuldades para o desenvolvimento de uma interface Se precisar armazenar dados símples, utilize as "propriedades" (Ti.App.Properties) ao invés de salvar em banco de dados Sempre que possível teste seu aplicativo em um dispositivo real Para Android é mais rápido publicar para o dispositivo do que para o emulador (mesmo com o Genymotion) Dicas
  • 17.
    Dicas Utilize log para"rastrear" a execução do código ao invés de utilizar o modo de debugação Utilize o recurso de Liveview para o desenvolvimento de interfaces Busque ajuda através da comunidade / fóruns da Appcelerator que é muito ativa e moderada por desenvolvedores reais e experientes Não utilize para fazer propaganda Mantenha o código organizado e legível
  • 18.