O documento discute o desenvolvimento de aplicações móveis usando HTML, CSS e JavaScript, abordando:
1) PhoneGap e frameworks JavaScript permitem criar aplicações nativas para múltiplas plataformas usando uma única base de código;
2) Um exemplo mostra como portar uma aplicação do Symbian para Android usando PhoneGap;
3) APIs nativas como geolocalização e câmera podem ser acessadas, apesar de adaptações para cada plataforma.
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereJuliano Martins
Esta apresentação contem um passo a passo mostrando a criação de um Web Service RESTFul utilizando a API Jersey no Eclipse, rodando nos servidores de aplicação Tomcat, JBoss e Websphere
Uma Abordagem bem completa sobre o Framework, passando pelo "O Que é AngularJS, AngularJS?", Alguns Core Concepts, Bootstrap & Runtime, Mitos, Prós, Contras e finalizando com uma abordagem bem completa do que está por vir na versão 2.0 do framework.
Acessibilidade na Web: Construíndo páginas para pessoas e não só para máquinasReinaldo Ferraz
O objetivo desta palestra é apresentar como a acessibilidade na Web impacta a vida de todos e como pequenas intervenções podem fazer uma enorme diferença no acesso de pessoas com deficiência na Web. Serão apresentados os principais motivos para tornar a Web acessível e exemplos práticos de como a acessibilidade na Web funciona na prática.
Next Level Apps é um evento gratuito organizado pelo Google Brasil que apresenta uma série de palestras de alta relevância e conteúdos variados que visa ajudar a evoluir aplicativos Android já publicados.
Esse ano participei ministrando um CodeLab sobre Android Wear.
O código-fonte do que foi apresentado está disponível em https://github.com/nglauber/NextLevelApps
Acessibilidade na Web - Desenvolvendo para pessoas e não só para máquinasCentro Web
Palestra sobre os principais motivos para considerar a acessibilidade em projetos Web e quem são os beneficiados quando uma página Web não tem barreiras de acesso para pessoas com deficiências.
Curso sobre AngularJS, tratando deste ambiente e ferramentas modernas de desenvolvimento até o desenvolvimento de uma aplicação usando AngularJS. Curso em duas partes.
No final foram desenvolvidas duas aplicações que podem ser vistas nos links:
https://github.com/alvarowolfx/shopping-list
https://github.com/alvarowolfx/ng-pokedex
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereJuliano Martins
Esta apresentação contem um passo a passo mostrando a criação de um Web Service RESTFul utilizando a API Jersey no Eclipse, rodando nos servidores de aplicação Tomcat, JBoss e Websphere
Uma Abordagem bem completa sobre o Framework, passando pelo "O Que é AngularJS, AngularJS?", Alguns Core Concepts, Bootstrap & Runtime, Mitos, Prós, Contras e finalizando com uma abordagem bem completa do que está por vir na versão 2.0 do framework.
Acessibilidade na Web: Construíndo páginas para pessoas e não só para máquinasReinaldo Ferraz
O objetivo desta palestra é apresentar como a acessibilidade na Web impacta a vida de todos e como pequenas intervenções podem fazer uma enorme diferença no acesso de pessoas com deficiência na Web. Serão apresentados os principais motivos para tornar a Web acessível e exemplos práticos de como a acessibilidade na Web funciona na prática.
Next Level Apps é um evento gratuito organizado pelo Google Brasil que apresenta uma série de palestras de alta relevância e conteúdos variados que visa ajudar a evoluir aplicativos Android já publicados.
Esse ano participei ministrando um CodeLab sobre Android Wear.
O código-fonte do que foi apresentado está disponível em https://github.com/nglauber/NextLevelApps
Acessibilidade na Web - Desenvolvendo para pessoas e não só para máquinasCentro Web
Palestra sobre os principais motivos para considerar a acessibilidade em projetos Web e quem são os beneficiados quando uma página Web não tem barreiras de acesso para pessoas com deficiências.
Curso sobre AngularJS, tratando deste ambiente e ferramentas modernas de desenvolvimento até o desenvolvimento de uma aplicação usando AngularJS. Curso em duas partes.
No final foram desenvolvidas duas aplicações que podem ser vistas nos links:
https://github.com/alvarowolfx/shopping-list
https://github.com/alvarowolfx/ng-pokedex
O que é Desenvolvimento Mobile Web
• O PHP no mundo Mobile
• Integração Gateway (Envio de SMS)
• Qr Code
• Identificando o dispositivo móvel e seus recursos
• Construindo um site em versão Mobile
• Do Zero
• A partir de um CMS (Wordpress, Joomla e Drupal)
Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...Cristofer Sousa
Workshop que foi ministrado para a Semana da Computação no IFSP - São Carlos, sobre os conceitos de Desenvolvimento Web utilizando Bootstrap além de poder conhecer a fundo algumas bibliotecas e padrões para customizar nossos projetos e uma breve introdução sobre a importância de prototipagem.
Palestra apresentada no Google I/O Extended 2023 em Salvador-BA no dia 05/08/2023 onde falei sobre as principais novidades do Android para 2023 que foram mostradas no Google I/O 2023.
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Stefanini
Apresentarção do .NET Compact Framework.
Explicitando principais recursos do desenvolvimento mobile com framework 3.5, acesso a dados, replicação e gerenciamento do dispositivo.
Slides do minicurso Introdução ao framework CakePHP realizado nos dias 10 e 11 de maio durante o WTISC 2012 na Universidade Federal do Ceará - UFC (Campus Quixadá) por Igor Pimentel
DevDay - O elo perdido: sincronizando webappsSuissa
O Elo perdido: sincronizando webapps com node.js foi uma palestra apresentada no DevDay de Belo Horizonte, na qual fala como criarmos uma app offline com html5 e como podemos sincronizar seus dados com o servidor em Node.js e MongoDb.
Palestra apresentada no 9º Connecting Knowledge realizado pelo Things Hacker Team. Palestra sobre como desenvolver para Internet das Coisas utilizando JavaScript.
Em uma visão macro, o que tiveram destaque para uma filtragem mais especificas foram o ZEND2 devido a robustez e grande credibilidade de mercado, CodeIgniter devido a grande parte do que saim do desenvolvimento "comum" e passam a ter um primeiro contado com algum tipo de framework, e suas comunidades bastante ativas, e Yii a mais jovens desse framework, porém com um grande crescimento nos últimos anos no meio do desenvolvimento PHP.
Obtive um resultado positivo, pois aderir por uma escolhe bastante objetiva e que hoje tem me dado resultado de usabilidade e tempo.
Refactoring for Rails - using deodorant to prevent code smells and a shower from time to time to eliminate the most persistent ones.
Slides used for my presentation at #rubyconfth 2022
Data science in ruby is it possible? is it fast? should we use it?Rodrigo Urubatan
These are the slides I used in my presentation about Data Science in Ruby during the first Rubyconf Thailand
Really great event!
feel free to send questions
Data science in ruby, is it possible? is it fast? should we use it?Rodrigo Urubatan
Slides used in my presentation at http://thedevelopersconference.com.br in the #ruby track this year in são Paulo,
Talking a little about data science, what are the alternatives to do it in ruby, how to integrate ruby and python and what are the best solutions available.
2018 the conf put git to work - increase the quality of your rails project...Rodrigo Urubatan
These are the slides I used in my presentation at #theconfbr this year.
If you have any questions or comments about the presentation, contact me through my twitter @urubatan.
if you want to subscribe to my weekly Ruby And Rails tips newsletter please do it in this address http://bit.ly/weekly_rails_tips
2018 RubyHACK: put git to work - increase the quality of your rails project...Rodrigo Urubatan
This is the RubyHack 2018 presentation on automating your common tasks using git
The main idea is to use the tools you already have to improve your day to day work
TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...Rodrigo Urubatan
Estes são os slides da minha palestra no The Developers Conference Porto Alegre deste ano, onde falei um pouco sobre desenvolvimento de aplicações multi plataforma com Xamarin, problemas e vantagens que encontrei no primeiro projeto que fiz com a plataforma, por que escolhi esta plataforma, alguns exemplos de código, ...
os exemplos completos do código Xamarin e do servidor Rails estão no meu github (tem o link nos slides)
My presentation at the first theconf.club event talking about my first experiences creating games with the Unity3d platform, why I've done it and what the platform provides
Rubyconf2016 - Solving communication problems in distributed teams with BDDRodrigo Urubatan
This was my talk in Rubyconf Brazil 2016, it summarises some of my experience using BDD to improve team interaction and communication in local and distributed teams, what are the differences, what benefits I found and how I used it.
I mainly focus in BDD as a communication tool, the automated tests are only a very good side effect, but I've already used it without test automation too.
This slides ware used in my presentation at XP Conf BR 215, the slides are in english but the presentation was in portuguese.
XP Conf BR was one of the coolest events I've attended this year, lots of great talks.
The idea of this talk is make clear that BDD is not about test automation, is it about communication, test automation is just an interesting side effect.
Full Text Search com Solr, MySQL Full text e PostgreSQL Full TextRodrigo Urubatan
Slides usados na palestra Full Text Search com Solr, MySQL Full text e PostgreSQL Full Text que apresentei hoje pela manha no #TheDevConf #TDCPOA #TDC2014
Apresentação de Maio de 2011 sobre como programadores java podem aprender ruby mais fácil e como podem continuar utilizando recursos interessantes da plataforma java ao mesmo tempo
1. Desenvolvendo aplicações
Mobile com HTML, CSS e
JavaScript
Aproveitando o conhecimento Web
no desenvolvimento Mobile
fisl@urubatancom.br http://www.urubatan.com.br
2. Palestrante
Rodrigo Urubatan (@urubatan no Twitter) trabalha
com desenvolvimento de software desde 1997. Já
desenvolveu sistemas em uma gama de linguagens
e ambientes, incluindo Delphi, C, C++, PHP, ASP,
ColdFusion, Assembly, Leather, Ruby e Java.
Atualmente trabalha com pesquisa e
desenvolvimento na HP, utilizando principalmente
Java, Flex e Ruby, e já ministrou cursos e palestras
em diversos eventos pelo Brasil. Autor do livro Ruby
On Rails: Desenvolvimento Fácil e Rápido de
Aplicações Web.
fisl@urubatancom.br http://www.urubatan.com.br
3. Primeira idéia
• Symbian e WebOS suportam aplicações escritas em
HTML+CSS+Javascript nativamente
• Seria legal fazer o mesmo para Android e iOS
• Vou criar um esqueleto de aplicação com WebKit e rodar
minha app Symbian WRT no Android!
fisl@urubatancom.br http://www.urubatan.com.br
4. Esqueleto de aplicação
Android
Portando WRT para Android
fisl@urubatancom.br http://www.urubatan.com.br
6. Activity
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
web = (WebView) findViewById(R.id.webView);
WebSettings settings = web.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setSupportMultipleWindows(true);
settings.setSupportZoom(false);
settings.setPluginsEnabled(true);
web.setVerticalScrollBarEnabled(true);
web.setHorizontalScrollBarEnabled(false);
// Our application's main page will be loaded
web.loadUrl("file:///android_asset/index.html");
}
fisl@urubatancom.br http://www.urubatan.com.br
7. Port da API WRT
• É necessário expor os objetos da API WRT para a aplicação
Android
o device
o widget
o menu
• WebView.addJavascriptInterface(objetoJava,
“nomeNoJavascript”)
fisl@urubatancom.br http://www.urubatan.com.br
8. Isto daria muito trabalho
Uma das maiores virtudes dos
programadores é a preguiça.
fisl@urubatancom.br http://www.urubatan.com.br
9. Open Source for the Rescue
Alguem já deve ter feito isto por mim
fisl@urubatancom.br http://www.urubatan.com.br
10. Opções
• PhoneGap
o APIs Javascript para acesso a recursos de dispositivos
moveis
o Suporte para iOS, Android, Symbian, Windoes Mobile,
WebOS, Bada (em desenvolvimento), WindowsPhone 7
(em desenvolvimento)
o UI desenvolvida com Frameworks JS+CSS
o Licensa BSD ou MIT o que for mais conveniente
• Titanium Mobile
o APIs Javascript para acesso a recursos de dispositivos
moveis
o Suporte para iOS e Android
o API para UI disponivel com L&F nativos
o Apache + Comercial para modulos adicionais e suporte
fisl@urubatancom.br http://www.urubatan.com.br
11. Opção e Motivos da Escolha - 1
• Titanium Mobile
o Falta suporte para Symbian
o API única para todas as plataformas
o API própria para UI
o Possibilidade de utilizar quase o mesmo código para
gerar aplicações Mobile e Desktop
Nos exemplos apresentados o código é diferente*
Mesmo assim, a possibilidade de compartilhar código
é muito interessante
o Ambiente de desenvolvimento próprio
o Build service - gera aplicação nativa para android e iOS a
partir dos fontes enviados (Serviço pago)
fisl@urubatancom.br http://www.urubatan.com.br
12. Opção e Motivos da Escolha - 2
• PhoneGap
o Eu uso e gosto do Symbian
o Possui uma API única para todos os dispositivos
Com algumas excessões de coisas que funcionam e
uma e não na outra mas isto esta documentado
o Eu já conheço gosto de diversos frameworks Javascript
o Existem frameworks Javascript que me permitem ter uma
UI "nativa" em todas as plataformas
o Possibilidade de utilizar a IDE ou editor de textos que me
convier
o Phonegap Build - serviço que gera apps nativas para
todas as plataformas suportadas a partir de um código
único (Serviço pago)
fisl@urubatancom.br http://www.urubatan.com.br
13. Desvantagens
• Em ambos os casos é necessário ter os SDKs para cada
uma das plataformas instalado na maquina (Exceto se for
utilizar o serviço de build)
• Em ambos os casos se for necessária para a aplicação uma
API não disponível no framework, sera necessário
implementar nativamente para cada uma das plataformas
desejadas
fisl@urubatancom.br http://www.urubatan.com.br
14. PhoneGap
Meu framework favorito para esta
tarefa
fisl@urubatancom.br http://www.urubatan.com.br
15. APIs nativas disponíveis
Acelerometer Camera Capture Compass
Connection Contacts Device Events
File Geolocation Media Network
Notification Storage
fisl@urubatancom.br http://www.urubatan.com.br
16. Frameworks disponíveis para UI
• jQuery Mobile
• jQTouch
• Sencha Touch
• Guarana-UI
• Nokia Web Templates for High-End Devices
• Muitos mais pela web ...
fisl@urubatancom.br http://www.urubatan.com.br
17. Pequeno exemplo
• Este é o código de uma API escrita diretamente para Nokia
WRT portada depois para Android utilizando PhoneGap
• É uma APP gratuita disponível na OviStore
fisl@urubatancom.br http://www.urubatan.com.br
27. pomodoro.js(4)
App.prototype.timeUp = function(){
window.app.playSound();
window.app.vibrate();
}
App.prototype.startPomodoro = function(evt){
var time = window.app.settings.pomodoro_time * 60;
$('#' + window.app.timer_id).countdown("change", {
until: time,
format: 'HMS',
onExpiry: window.app.timeUp
});
return false;
}
App.prototype.startBreak = function(evt){
var time = window.app.settings.interval_time * 60;
$('#' + window.app.timer_id).countdown("change", {
until: time,
format: 'HMS',
onExpiry: window.app.timeUp
});
fisl@urubatancom.br http://www.urubatan.com.br
return false;
28. Problemas
API para menus ainda não disponível multi
plataforma
Mas isto raramente é utilizado para dispositivos
touch screen
Algumas vezes é necessário adicionar alguns Ifs
para adicionar código especifico para alguma
plataforma
fisl@urubatancom.br http://www.urubatan.com.br
29. Geolocalization
// onSuccess Callback
// This method accepts a `Position` object, which
contains
// the current GPS coordinates
//
var onSuccess = function(position) {
alert('Latitude: ' + position.coords.latitude
+ 'n' +
'Longitude: ' + position.coords.longitude
fisl@urubatancom.br http://www.urubatan.com.br
30. Captura de Imagens
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType:
Camera.DestinationType.FILE_URI });
function onSuccess(imageURI) {
var image =
document.getElementById('myImage');
image.src = imageURI;
fisl@urubatancom.br http://www.urubatan.com.br