Submit Search
Upload
Java e HTML5 combinação explosiva para aplicativos corporativos
•
16 likes
•
2,317 views
AI-enhanced title
Loiane Groner
Follow
Palestra apresentada no JavaOne Brasil 2015 em São Paulo, 23 de Junho de 2015.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 62
Download now
Download to read offline
Recommended
Makroekonomi topik-8-1
Makroekonomi topik-8-1
020881
Building an Appier Web - Velocity Amsterdam 2016
Building an Appier Web - Velocity Amsterdam 2016
Andy Davies
Espacios en-tu-vida
Espacios en-tu-vida
epacheco1
جيفيرا باي الساحل الشمالي
جيفيرا باي الساحل الشمالي
Reda Hassan
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
Tikal Knowledge
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
Loiane Groner
TDC2013: Arquitetura de apps com Sencha Touch 2
TDC2013: Arquitetura de apps com Sencha Touch 2
Loiane Groner
Recommended
Makroekonomi topik-8-1
Makroekonomi topik-8-1
020881
Building an Appier Web - Velocity Amsterdam 2016
Building an Appier Web - Velocity Amsterdam 2016
Andy Davies
Espacios en-tu-vida
Espacios en-tu-vida
epacheco1
جيفيرا باي الساحل الشمالي
جيفيرا باي الساحل الشمالي
Reda Hassan
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
Tikal Knowledge
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
Loiane Groner
TDC2013: Arquitetura de apps com Sencha Touch 2
TDC2013: Arquitetura de apps com Sencha Touch 2
Loiane Groner
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
Igor Sobreira
Html5 and web technology update
Html5 and web technology update
Doug Domeny
Spca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_libraries
NCCOMMS
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
Tech in Asia ID
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
Riza Fahmi
Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5
Web Directions
SearchMonkey
SearchMonkey
Paul Tarjan
HTML5 on Mobile
HTML5 on Mobile
Adam Lu
Sanjeet Singh
Sanjeet Singh
Sanjeet Singh
Building Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
Matt Raible
The Django Web Application Framework
The Django Web Application Framework
Simon Willison
Santhosh_Resume
Santhosh_Resume
Santhosh Kandula
Hi5 Open Social
Hi5 Open Social
Julia Foxworthy
Repaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares web
Pablo Garaizar
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
Association Paris-Web
Flash Templates- Joomla!Days NL 2009 #jd09nl
Flash Templates- Joomla!Days NL 2009 #jd09nl
Joomla!Days Netherlands
Flash templates for Joomla!
Flash templates for Joomla!
Herman Peeren
Industrail training in php
Industrail training in php
ResistiveTechnosource Pvt. Ltd.
django_introduction20141030
django_introduction20141030
Kevin Wu
Html javascript
Html javascript
Soham Sengupta
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
More Related Content
Similar to Java e HTML5 combinação explosiva para aplicativos corporativos
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
Igor Sobreira
Html5 and web technology update
Html5 and web technology update
Doug Domeny
Spca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_libraries
NCCOMMS
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
Tech in Asia ID
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
Riza Fahmi
Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5
Web Directions
SearchMonkey
SearchMonkey
Paul Tarjan
HTML5 on Mobile
HTML5 on Mobile
Adam Lu
Sanjeet Singh
Sanjeet Singh
Sanjeet Singh
Building Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
Matt Raible
The Django Web Application Framework
The Django Web Application Framework
Simon Willison
Santhosh_Resume
Santhosh_Resume
Santhosh Kandula
Hi5 Open Social
Hi5 Open Social
Julia Foxworthy
Repaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares web
Pablo Garaizar
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
Association Paris-Web
Flash Templates- Joomla!Days NL 2009 #jd09nl
Flash Templates- Joomla!Days NL 2009 #jd09nl
Joomla!Days Netherlands
Flash templates for Joomla!
Flash templates for Joomla!
Herman Peeren
Industrail training in php
Industrail training in php
ResistiveTechnosource Pvt. Ltd.
django_introduction20141030
django_introduction20141030
Kevin Wu
Html javascript
Html javascript
Soham Sengupta
Similar to Java e HTML5 combinação explosiva para aplicativos corporativos
(20)
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
Html5 and web technology update
Html5 and web technology update
Spca2014 hillier 3rd party_javascript_libraries
Spca2014 hillier 3rd party_javascript_libraries
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5
SearchMonkey
SearchMonkey
HTML5 on Mobile
HTML5 on Mobile
Sanjeet Singh
Sanjeet Singh
Building Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
The Django Web Application Framework
The Django Web Application Framework
Santhosh_Resume
Santhosh_Resume
Hi5 Open Social
Hi5 Open Social
Repaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares web
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
Flash Templates- Joomla!Days NL 2009 #jd09nl
Flash Templates- Joomla!Days NL 2009 #jd09nl
Flash templates for Joomla!
Flash templates for Joomla!
Industrail training in php
Industrail training in php
django_introduction20141030
django_introduction20141030
Html javascript
Html javascript
Recently uploaded
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Sujit Pal
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Alan Dix
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
soniya singh
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Recently uploaded
(20)
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Java e HTML5 combinação explosiva para aplicativos corporativos
1.
Java e HTML5 combinação
explosiva para aplicativos corporativos Loiane Groner @loiane http://loiane.com
2.
• 9+ XPTI •
Java, Sencha, Phonegap (mobile híbrido) • http://loiane.com • Livros: Loiane Groner
3.
Evolução Java e
HTML/JS
4.
<% String usuario =
request.getParameter("usuario"); if ( usuario != null && usuario.length() > 0 ) { %> <%@include file="response.jsp" %> <% } %>
5.
<c:forEach var="contato" items="${dao.lista}"> ${contato.nome},
${contato.email}, ${contato.endereco}, ${contato.dataNascimento} </c:forEach>
6.
7.
http://d25ds5di20s2np.cloudfront.net/wp-content/uploads/2013/11/struts-hibernate-velocity-multi-customer.png
8.
Header - MENU Footer Redireciona
para: listarCliente.jsp editarCliente.jsp excluirCliente.jsp criarCliente.jsp index.jsp
9.
View Controller Model DOMBrowser App Server HTML
10.
11.
Header - MENU Footer Mostra/Esconde: <div>listarCliente.jsp</div> <div>editarCliente.jsp</div> <div>excluirCliente.jsp</div> <div>criarCliente.jsp</div> index.jsp + templates
12.
13.
http://plugins.netbeans.org/data/images/1397832199_nbpfcrudgen-edit-dialog-full.png
14.
Desacoplamento: o início
15.
16.
http://webdevbros.net.www144.your-server.de/wp-content/uploads/2009/10/SiamExplorer.png
17.
18.
http://aprendizweb.com.br/wp-content/uploads/2015/03/frontend-e-back-end.jpg
19.
http://diy-visualpedia.s3.amazonaws.com/request-reponse-comic-03.png
20.
21.
http://www-scf.usc.edu/~chenemil/itp104/images/html5features.jpg
22.
23.
View Controller Model DOMBrowser App Server HTML Aplicação tradicional
24.
View Controller Model APIs REST JSON Aplicação moderna DOM App
Server Browser
25.
26.
http://www.the4cast.com/wp-content/uploads/2014/06/web-starterkit.jpg
27.
APIs REST Banco de
Dados JSON JSON
28.
View Controller Model APIs REST JSON WEB DOM App Server Browser
29.
View Controller Model APIs REST JSON MOBILE App Server Dispositivo Móvel WebView
Nativa
30.
• Nativo • Responsivo •
Web App • App Híbrida
31.
View Controller Model APIs REST JSON DESKTOP App Server App Desktop Wrapper
32.
Demo
33.
Troca de Dados
34.
http://2.bp.blogspot.com/-jESwFrkSxMY/TbmvunKRhsI/AAAAAAAAAIo/luBQB38_kTo/s1600/xml-vs-json.jpg
35.
36.
<nome>Cliente 01</nome> <endereco>Rua Inventada
41</endereco> <cidade>São Paulo</cidade> <cnpj>66.260.339/0001-35</cnpj>
37.
DocumentBuilderFactory docFactory =
DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("cliente"); doc.appendChild(rootElement); Element name = doc.createElement("nome"); name.appendChild(doc.createTextNode("Cliente 01")); rootElement.appendChild(name);
38.
var xml =
"<rss version='2.0'><channel><title>RSS Title</title></channel></rss>", xmlDoc = $.parseXML( xml ), $xml = $( xmlDoc ), $title = $xml.find( "title" ); https://github.com/johngeorgewright/angular-xml
39.
40.
{ "nome":"Cliente 01", "endereco":"Rua Inventada
41", "cidade":"São Paulo", "cnpj":"66.260.339/0001-35" }
41.
JSONObject obj=new JSONObject(); obj.put("name","foo"); obj.put("num",new
Integer(100)); obj.put("balance",new Double(1000.21)); obj.put("is_vip",new Boolean(true)); obj.put("nickname",null);
42.
@RequestMapping(value="/contact/create.action") public @ResponseBody Map<String,?
extends Object> create(@RequestBody ContactWrapper data) throws Exception { try{ List<Contact> contacts = contactService.create(data.getData()); return ExtJSReturn.mapOK(contacts); } catch (Exception e) { return ExtJSReturn.mapError("Error trying to create contact."); } } http://wiki.fasterxml.com/JacksonHome
43.
@POST @Produces("application/json") @Consumes({"application/xml", "application/json"}) public ExtJSContactReturn
create(String json) throws IOException, JSONException { ContactWrapper wrapper = new ContactWrapper(json); Contact entity = wrapper.getContact(); super.create(entity); List<Contact> contacts = new ArrayList<Contact>(); contacts.add(entity); ExtJSContactReturn extReturn = new ExtJSContactReturn(String.valueOf(contacts.size()), contacts, true); return extReturn; }
44.
JsonBuilderFactory factory =
Json.createBuilderFactory(config); JsonObject value = factory.createObjectBuilder() .add("firstName", "John") .add("lastName", "Smith") .add("age", 25) .add("address", factory.createObjectBuilder() .add("streetAddress", "21 2nd Street") .add("city", "New York") .add("state", "NY") .add("postalCode", "10021")) .add("phoneNumber", factory.createArrayBuilder() .add(factory.createObjectBuilder() .add("type", "home") .add("number", "212 555-1234")) .add(factory.createObjectBuilder() .add("type", "fax") .add("number", "646 555-4567"))) .build();
45.
JSON JavaScript Object Notation
46.
47.
48.
@ServerEndpoint("/chat") public class ChatBean
{ Set<Session> peers = Collections.synchronizedSet(...); @OnOpen public void onOpen(Session peer) { peers.add(peer); } @OnClose public void onClose(Session peer) { peers.remove(peer); } @OnMessage public void message(String message, Session client) { for (Session peer : peers) { peer.getRemote().sendObject(message); } } }
49.
http://async-io.org/
50.
import org.atmosphere.config.service.ManagedService; import org.atmosphere.cpr.AtmosphereResponse; import
org.atmosphere.handler.OnMessage; @ManagedService(path = "/echo") public class Echo { @Message public void onMessage(AtmosphereResponse res, String m) { res.write("Echo: " + m); } } $(function () { var request = { url: document.location.toString() + 'echo', transport : "websocket" , fallbackTransport: 'long-polling'}; request.onMessage = function (response) { console.log(response.responseBody) }; $.atmosphere.subscribe(request).push("Hello"); }
51.
Demo
52.
53.
54.
55.
56.
57.
58.
https://www.owasp.org
59.
desabilitar código HTML desabilitar
editar código fonte
60.
http://jhipster.github.io/
61.
http://loiane.com fb.com/loianegroner @loiane https://github.com/loiane youtube.com/user/Loianeg
62.
Obrigada!
Download now