5 pilares para uma aplicação Java Web bem-sucedida
|
|
- Felipe Castelhano de Figueiredo
- 6 Há anos
- Visualizações:
Transcrição
1 5 pilares para uma aplicação Java Web bem-sucedida Eder Ignatowicz Sr. Software Red Hat Guilherme Carreiro Software Red Hat
2
3 Qual arquitetura e frameworks para o backend?
4 E o front-end?
5
6 Desenvolvimento JavaScript é complexo
7 Desenvolvimento JavaScript Web é complexo
8 Desenvolvimento Web vai continuar sendo complexo
9
10
11
12 Qual stack web escolher?
13 Qual a arquitetura mais viável para este problema?
14 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
15 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
16 Aplicação de Larga Escala 1mi+ de linhas código web 5 produtos ~150 sub-projetos ~30 devs 7+ anos de base de código
17 Aplicação de Larga Escala Static Typing
18 Aplicação de Larga Escala Refactoring
19 Aplicação de Larga Escala
20 Aplicação de Larga Escala Transpilers para JavaScript
21 Aplicação de Larga Escala
22 Aplicação de Larga Escala.java javac.class
23
24
25
26 The Good Parts
27 GWT Good Parts Java to JavaScript
28 GWT Good Parts java.* emulation
29 GWT Good Parts DOM APIs
30 GWT Good Parts Java 8 "client side"
31 GWT Good Parts Dev Tools
32 GWT Good Parts
33 GWT Good Parts JS Interop
34 JS Interop Consume = true) public abstract class JQuery { public native static JQuery $(String selector); public native JQuery css(string prop, String val); public native JQuery attr(string name, String val); Java import static jquery.jquery.$; //... $("ul > li").css("color", "red").attr("data-level", "first");
35 JS Interop Expose Java package public class Dora { public boolean late = true; public Dora() {} public String auau() { return "Hello QCon!";} } JavaScript var dora = new foo.dora(); if (dora.late) { alert(dora.auau()); }
36 Aplicação de Larga Escala Refactoring
37 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
38 Desenvolvedores full stack Desenvolvedores end-to-end
39 Desenvolvedores full stack Shared Programming Model
40 Desenvolvedores full stack Java EE no browser
41 Desenvolvedores full stack
42 ERRAI CDI no Browser
43 @Dependent public class ProjectsView { CDI no "projects-view" ) "new-project" ) "projects-list" ) UnorderedList Instance<ProjectItem> projects;
44 CDI no Browser if (!filter.dofilter(event)) { } if (event.kind().equals(standardwatcheventkind.entry_add)) { resourceaddedevent.fire(buildevent(resourceaddedevent.class, event).getk2()); }
45 CDI no Browser public void ResourceAddedEvent event) { } Window.alert("ResourceAddedEvent:" + event.getpath().touri() + " ['" + event.getmessage() + "']");
46 CDI no Browser
47 Browser Browser ERRAI BUS Long Polling Server SSE Browser Web Sockets Browser
48 Desenvolvedores full stack Shared Programming Model
49 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
50 <form action="orderresult.jsp" method="post"> <h3>pizza Types</h3> <div> <ul> <% for ( Pizza pizza : pizzatypes ) { %> <li> <input type="radio" name="pizzatypeoptions" value="<%=pizza.getname()%>" checked /> <span class="pizzatype"><%=pizza.getname()%></span> <span class="pizzaprice"><%=pizza.getprice()%>$</span> </li> <% } %> </ul> </div> <h3>size</h3> <h3>extra Toppings</h3> <div class="section group"> <% for ( int j = 0; j < 3; j++ ) { %> <div class="col span_1_of_3"> <ul class="ul_2"> <% for ( int i = slicesize * j; i < ( j + 1 ) * slicesize; i++ ) { %> <li class="li_2"> <input type="checkbox" name="pizzatoppings" value="<%=pizzatoppings.get( i )%>"/> <%=pizzatoppings.get( i )%> </li> <% } if ( j == 0 && remainder > 0 ) { %> <li class="li_2"> <input type="checkbox" name="pizzatoppings" value="<%=pizzatoppings.get( pizzatoppings.size() - 2 )%>"/> <%=pizzatoppings.get( pizzatoppings.size() - 2 ) </li> <% } else if ( j == 1 && remainder > 1 ) { %> <li class="li_2"> <input type="checkbox" name="pizzatoppings" value="<%=pizzatoppings.get( pizzatoppings.size() - 1 )%>"/> <%=pizzatoppings.get( pizzatoppings.size() - 1 )%> </li> <% } %> </ul> </div> <% } %> </div> <h4>each extra topping is 0.65$</h4> <input type="submit" value="order"/> </form>
51 <h1>{{title}}</h1> <h2>my favorite hero is: {{myhero}}</h2> <p>heroes:</p> <ul> <li *ngfor="let hero of heroes"> {{ hero }} </li> </ul>
52 <div> <ul class="list-group" data-field="projects-list"> </ul> <button type="button" class="btn" data-field="new-project"> <i class="fa fa-plus"></i> New Project </button> </div>
53 public class ProjectsView { "projects-view" ) "new-project" ) "projects-list" ) UnorderedList projectslist; }
54
55 <!-- Masthead --> <nav class="navbar navbar-default navbar-pf "> <div class="navbar-header "> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse-2"> <span class="sr-only">toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a href="/" class="navbar-brand"> <img src="images/bpmsuite.svg" alt="jboss BPM Suite" /> </a> </div>... <div class="collapse navbar-collapse navbar-collapse-2"> <ul class="nav navbar-nav "><!-- navbar-iconic --> <li class="dropdown"> <a class="dropdown-toggle nav-item-iconic" id="dropdownmenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> Home <span class="caret"></span> </a> <ul class="dropdown-menu" aria-labelledby="dropdownmenu2"> <li><a href="#">design</a></li> <li><a href="#">processes & Tasks</a></li> <li><a href="#">runtime</a></li> <li><a href="#">settings</a></li> </ul> </li> </ul> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a class="dropdown-toggle nav-item-iconic" id="notifications" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <span title="notifications" class="fa pficon-warning-triangle-o"></span> Messages: 0 </a> <div class="dropdown-menu infotip bottom-right"> <div class="arrow"></div> <ul class="list-group"> <li class="list-group-item"> <span class="i pficon pficon-info"></span> Modified Datasources ExampleDS </li> <li class="list-group-item"> <span class="i pficon pficon-info"></span> Error: System Failure </li> </ul> <div class="footer"> <a>clear Messages</a> </div> </div> </li> <li class="dropdown"> <a class="dropdown-toggle nav-item-iconic" id="dropdownmenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <span title="username" class="fa pficon-user"></span> Brian Johnson <span class="caret"></span> </a> <ul class="dropdown-menu" aria-labelledby="dropdownmenu2">
56
57 Integração com UX Deixe o HTML/CSS em paz
58 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
59
60 Hexagonal Architecture - Alistair Cockburn Arquitetura Onion Architecture - Jeffrey Palermo DCI - James Coplien e Trygve Reenskaug. BCE - Ivar Jacobson Clean Architecture - Robert C. Martin
61 Independente de Frameworks Princípios Testável Independente de UI Independente de Database Independente de Agentes Externos
62
63 Architecture is about intent. We have made it about frameworks and details Robert C. Martin
64 Regular FS UBERFIRE VFS Use Cases VFS API Clustering GIT FS
65
66 Qual framework Web escolher?
67 Qual framework JS escolher?
68 Perigo Primeiro Release Anos 0 Escolha do framework JS
69 What s next for Angular 1.x? In all honesty, no one really knows what will happen
70 Projeto Encerrado ou a nova versão não tem retrocompatibilidade Projeto Encerrado ou a nova versão não tem retrocompatibilidade Entrega Curva de Aprendizado Curva de Aprendizado Curva de Aprendizado Escolha do Framework JS Reescrita novo Framework JS Reescrita novo Framework JS Anos
71 A good architecture allows volatile decisions to be easily changed Robert C. Martin
72 E se eu tratasse a volatilidade dos frameworks JS como fato?
73
74
75 Modelo de Programação Componentes: Screen Editors Perspectives Popups
76 Modelo de Programação LifeCycle: OnStart OnSave IsDirty OnClose...
77 Perspective Screen Editor Screen
78 Baseado em Contratos Screen Editor Perspective Interface WorkbenchScreenActivity Interface WorkbenchEditorActivity Interface PerspectiveActivity
79 Uberfire Lookup Perspective ERRAI CDI BEAN MANAGER UBERFIRE VFS GWT Perspective Adapter Scan all Perspective Activity Implementations ERRAI UI Perspective Adapter OLD GWT WIDGET Plain HTML Errai UI
80 Código de 7 anos atrás com GWT old school"
81 Código da semana passada HTML 5 canvas
82 Live-Span de 5~10 anos Trate a arquitetura Web com o mesmo respeito que você trata seu backend.
83 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
84 @WorkbenchPerspective(identifier = HomePerspective", isdefault = public class HomePerspective implements @WorkbenchPanel(parts = "MoodScreen?uber=fire&uber1=fire1") @WorkbenchPanel(parts = "HomeScreen?uber=fire") Div @WorkbenchPanel(parts = "AnotherScreen") Div public interface PerspectiveActivity{ PerspectiveDefinition default String getname() { return getdefaultperspectivelayout().getname(); } boolean isdefault(); Menus getmenus(); } ToolBar gettoolbar();
85
86 function TodoCtrl($scope) { } $scope.placetext = "MiscellaneousFeatures"; $scope.todos = [ {text: 'learn angular', done: true}, {text: 'build an angular app', done: false} ]; $scope.addtodo = function () { $scope.todos.push({text: $scope.todotext, done: false}); $scope.todotext = ''; }; $scope.remaining = function () { var count = 0; angular.foreach($scope.todos, function (todo) { count += todo.done? 0 : 1; }); return count; }; $scope.archive = function () { var oldtodos = $scope.todos; $scope.todos = []; angular.foreach(oldtodos, function (todo) { if (!todo.done) { $scope.todos.push(todo); } }); }; $scope["goto"] = function () { $gotoplace($scope.placetext); }; <div class="container-fluid" ng-controller="todoctrl"> <div class="row"> <div class="col-md-12"> <p class="pull-right" style="margin-top: 10px;">{{remaining()}} of {{todos.length}} remaining [ <a href="" ng-click="archive()">archive</a> ] </p> <h4>todos</h4> <ul class="list-group"> <li class="list-group-item" ng-repeat="todo in todos"> <span class="done-{{todo.done}}">{{todo.text}}</span> <input class="pull-right" type="checkbox" ng-model="todo.done"> </li> </ul> </div> </div> <div class="row"> <div class="col-md-6"> <form class="form-inline" ng-submit="goto()"> <div class="form-group"> <input type="text" ng-model="placetext" size="30" class="form-control" placeholder="place to go"> <input class="btn btn-primary" type="submit" value="goto"> </div> </form> </div> <div class="col-md-6"> <form class="form-inline pull-right" ng-submit="addtodo()"> <div class="form-group"> <input type="text" ng-model="todotext" size="30" class="form-control" placeholder="add new todo here"> <input class="btn btn-primary" type="submit" value="add"> </div> </form> </div> </div> </div> $registerplugin({ id: "my_angular_js", type: "angularjs", templateurl: "angular.sample.html", title: function () { return "angular " + Math.floor(Math.random() * 10); }, on_close: function () { alert("this is a pure JS alert!"); } });
87 Uberfire Lookup Perspective ERRAI CDI BEAN MANAGER Perspectives GWT Perspective Adapter ERRAI UI Perspective Adapter Scan all Perspective Activity Implementations Angular Perspective Adapter Any JS Perspective Adapter OLD GWT WIDGET Plain HTML Errai UI Angular native Perspective Any JS Framework
88 Angular JS Screen
89 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
90 Desenvolvimento Web é complexo
91 Aplicações Web são parte da nossa arquitetura
92 Independente de Frameworks Princípios Testável Independente de UI Independente de Database Independente de Agentes Externos
93 Arquitetura de software é exercício de trade-offs
94 Aplicação de Larga Escala 5 pilares: Desenvolvedores full stack Integração com UX Life-Span de 5~10 anos Interoperabilidade
95 Obrigado. Eder Guilherme
96
WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br
WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)
Meta Programming. Nelson Ferraz nferraz@gmail.com
Meta Programming Nelson Ferraz nferraz@gmail.com Resumo Meta Programming Code Generation AppML 23/11/07 Nelson Ferraz 2 Meta Programming Programas que manipulam programas Geração de
Criação de uma aplicação Web ASP.NET MVC 4
Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership
Exercício de Estrutura de dados. Java Fila
Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado
Capítulo 4. Programação em ASP
Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro
Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)
Desenvolvimento de Sistemas Web Prof. Leandro Roberto Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete) JavaScript Eventos Alguns eventos de uma página HTML podem ser interceptados e programados
Exercícios Práticos de HTML e JavaScript. <FORM ACTION="mailto:teste@gmail.com" METHOD="POST" ENCTYPE="text/plain" NAME="cadastro">
Exercícios Práticos de HTML e JavaScript Exercício 1: Formulário Padrão HTML SEM JavaScript
Seu App na TV: Desenvolvimento para ChromeCast
Seu App na TV: Desenvolvimento para ChromeCast Ivan de Aguirre! ivan.aguirre@gmail.com! Twitter: IvAguirre! G+: plus.google.com/+ivanaguirrebr Sender App: Sender App: Android Sender App: Android ios Sender
JAVASCRIPT DE QUALIDADE HOJE, AMANHÃ E SEMPRE GUILHERME CARREIRO THIAGO OLIVEIRA
JAVASCRIPT DE QUALIDADE HOJE, AMANHÃ E SEMPRE GUILHERME CARREIRO THIAGO OLIVEIRA GUILHERME CARREIRO Rubyist and code deisgner THIAGO OLIVEIRA Indian and Java programmer Há muito tempo... ECMAScript
GWT usando o Padrão MVP
a r t i g o Fábio Miranda (fabio@airframes.com.br) é engenheiro de computação, graduado pelo ITA em 2004. Programa em Java SE desde 2002, e desenvolve sistemas web desde 2004. Trabalha na Airframes Engenharia
Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.
Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças
Formulários HTML. Envio de Informação para o servidor
Programação Na Web Formulários HTML Envio de Informação para o servidor 1 António Gonçalves Agenda Envio de dados através de formulários A Marca FORM Controle para Text Botões tipo Push Botões Check boxes
Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI
Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida Aula II jquery UI Introdução O que é jquery UI? Biblioteca que fornece maior nível de abstração para interação
DICAS PARA DESENVOLVER SITE ACESSÍVEL
DICAS PARA DESENVOLVER SITE ACESSÍVEL Este arquivo contém dicas para o desenvolvimento de uma página acessível e de acordo com as normas W3C (World Wide Web). Para uma boa compreensão destas dicas é necessário
Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007
Iniciando com Zend_Auth By Rob Allen, www.akrabat.com Document Revision 1.0.8 Copyright 2007 Este tutorial é destinado a oferecer uma bem básica introdução para o uso do componente Zend_Auth com o Zend
Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler
Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma
Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina
Programação para Internet Rica 1 Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Objetivo: Capacitar o aluno para o trabalho com o framework JQuery. INTRODUÇÃO JQuery é uma biblioteca
Simulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda
PROGRAMAÇÃO PARA INTERNET Introdução à AJAX Fonte: Raul Paradeda INTRODUÇÃO Para entender o que é o AJAX é necessário ter o prévio conhecimento de: HTML / XHTML; Javascript; CSS; XML. INTRODUÇÃO Ao pesquisar
Configurando uma aplicação Struts
Configurando uma aplicação Struts Instalando os Softwares 1. NetBeans IDE 5.0 2. Java Standard Development Kit (JDK ) version 1.4.2 or 5.0 Criando uma nova aplicação Struts 1. Click File > New Project.
COMO FUNCIONA UM FORMULÁRIO
FORMULÁRIOS Constitui-se numa das formas de a máquina cliente enviar informações para que um programa no servidor receba estes dados, processe-os e devolva uma resposta ao usuário, por meio do navegador,
Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Java na WEB Componentes Bean
1 Java na WEB Componentes Bean Objetivo: Ao final da aula o aluno será capaz de: Criar site dinâmico utilizando componentes Bean Utilizar Tags de ação Empregar Coleções de Bean. Sumário 5. Definição de
PROF. DANIELA PIRES. Aplicações para Web. Aplicações para Web - FMU - 2012 - Prof. Daniela Pires
PROF. DANIELA PIRES Aplicações para Web 1 *Oficialmente: *Uma biblioteca escrita em Javascript *Uma definição melhor: *jquery é uma Biblioteca JavaScript que simplifica a manipulação de um documento HTML
Guia para Iniciantes do WebWork
Guia para Iniciantes do WebWork Marcelo Martins Este guia descreve os primeiros passos na utilização do WebWork Introdução Desenvolver sistemas para Web requer mais do que simplesmente um amontoado de
Programação para Android. Aula 06: Activity, menus e action bar
Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação
Aplicações Single-page: Caso de implementação com Backbone.js
Aplicações Single-page: Caso de implementação com Backbone.js Autor: Bruno Vitorino - 1402214 Introdução Este artigo pretende fornecer uma pequena introdução ao conceito de aplicações Single- Page e um
Google Android. SMS Short Message Service
SMS Short Message Service A API Telephony do Android permite monitorar e gerenciar Conexão de Dados, Entrada e Saída de Chamadas, Envio e recebimento de mensagens SMS. É possível criar o próprio Cliente
Prova Específica Cargo Desenvolvimento
UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br
Programação para Internet I
Programação para Internet I Aulas 09 e 10 Fernando F. Costa nando@fimes.edu.br Formulários O formulário representa o modo mais importante de interatividade que a linguagem HTML oferece. Um formulário pode
<b>, <big>, <em>, <i>, <small>, <strong>, <sub>, <sup>,... <table>, <tbody>, <thead>, <th>, <tr>, td
HTML Hypertext Markup Language Draft 1991; 1.1 1992; 2.0 1993; 3.0 1995; 4.0 1997; 4.01 1999; 5.0 (2011?) Linguagem g de marcação básica utilizada na WEB, que consiste de elementos envolvidos pelos sinais
Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003
Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES JavaScript Desenvolvimento de Sistemas para WEB Site:
Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br
Um Exemplo de Refatoração Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Exemplo Programa para calcular e imprimir o valor devido por um cliente de uma vídeo locadora Filme códigopreço:int 1 * * 1 Locação
Cálculo Remoto de Preços e Prazos de Encomendas
Cálculo Remoto de Preços e Prazos de Encomendas O cálculo remoto de preços e prazos de encomendas dos Correios é destinado aos clientes que possuem contrato de SEDEX, e-sedex e PAC, que necessitam calcular,
PHP. Hypertext Pre-Processor
PHP Hypertext Pre-Processor O que é o PHP? Uma linguagem de scripting é uma linguagem cujo código não tem de ser compilado para ser executado! O código escrito é interpretado em tempo de execução para
Programação Web Prof. Wladimir
Programação Web Prof. Wladimir HTML - Formulários @wre2008 1 Sumário Formulários HTML @wre2008 2 Formulários: Muitos elementos de um formulário html são definidos pela tag . Cada tipo de elemento
Desenvolvendo Aplicações em Media Center Markup Language
Desenvolvendo Aplicações em Media Center Markup Language Sumário Motivação O que é o Windows Media Center? Requisitos para o desenvolvimento de aplicações no MCE Windows Media Center Presentation Layer
AJAX no GASweb. Mas e afinal, para que usamos o AJAX?
Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente
Estrutura de Dados Pilha (Stack)
Estrutura de Dados Pilha (Stack) Estrutura de Dados que corresponde a uma lista sequencial com a propriedade seguinte: LIFO O primeiro elemento a entrar é o último a sair ( Last in First Out ) Operações
Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Uma introdução ao Google App Engine com GWT
: : www.mundoj.com.br : : Uma introdução ao Google App Engine com GWT Desenvolvendo Java em Cloud Computing. Luiz Felipe Gomes Teixera É desenvolvedor Java na IPNET Soluções com ênfase em aplicações em
PHP é um acrónimo para Hypertext Preprocessor.
PHP 101 O que é o PHP? PHP é um acrónimo para Hypertext Preprocessor. É uma linguagem de scripting open-source que funciona do lado do servidor e é usada para gerar páginas web dinâmicas. Os scripts de
Padrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
DICAS DE BOOTSTRAP 3
WEB DEV ACADEMY DICAS DE BOOTSTRAP 3 Uma coleção de dicas rápidas para você trabalhar com o framework mais popular da Web Ruan Carvalho Bem-vindo ao Ebook de Dicas do Bootstrap! O conteúdo deste guia está
Desenvolvimento Web com Framework Demoiselle versão 1.1
Desenvolvimento Web com Framework Demoiselle versão 1.1 Módulo 10: Monitoração de Ambientes Autor: Rodrigo Hjort SERPRO / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br
INTRODUÇÃO AO DESENVOLVIMENTO WEB
INTRODUÇÃO AO DESENVOLVIMENTO WEB PROFª. M.Sc. JULIANA H Q BENACCHIO Formulários Os formulários em HTML são usados para selecionar diferentes tipos de entradas do usuário. Um formulário é uma área que
J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr
J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,
Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android
Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android Realização de Dinâmica Hands- On para Construção de uma App Android Dr. Eduardo Manuel de Freitas Jorge, PMP Realização de Dinâmica
Como não enlouquecer desenvolvendo um produto mobile com 6 canais. Wednesday, September 25, 13
Como não enlouquecer desenvolvendo um produto mobile com 6 canais fase 1: the product timeline 2010 2011 2012 2013 quem somos timeline 2010 2011 2012 2013 the product Implementar uma plataforma de mobile
Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri
OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar
Dicas para Javascript (parte2) 21 - IMPEDIR DIGITAÇÃO DE CARACTERES NÃOO NUMÉRICOS
Dicas para Javascript (parte2) 21 - IMPEDIR DIGITAÇÃO DE CARACTERES NÃOO NUMÉRICOS
Frameworks - Grails. Aécio Costa
Aécio Costa Abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade
Programação para a Internet II 2.13. PHP AJAX. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt
Programação para a Internet II 2.13. PHP AJAX Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Ajax não é uma tecnologia! É um conceito! Consiste no uso do objecto XMLHttpRequest que se encontra implementado
Obtendo dados com formulários
Obtendo dados com formulários Exploraremos agora uma das utilizações mais poderosas para o JavaScript: trabalhar com formulários de HTML. Você pode utilizar JavaScript para tornar um formulário mais interativo,
AJAX em Java com o Google Web Toolkit
AJAX em Java com o Google Web Toolkit Maurício Linhares de Aragão Junior AJAX rápido, fácil e puro Java com o Google Web Toolkit Introdução O desenvolvimento de aplicações que utilizam o conjunto de tecnologias
Resumo Aplicação MVC Contoso University
Resumo Aplicação MVC Contoso University Parte 1. New Project MVC4: ContosoUniversity Html.ActionLink(string linktext, string actionname, string controllername) Retorna MvcHtmlString, uma string com o código
JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5
JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,
indica o nome do campo pelo qual podemos acessar.
Formulários Em geral Com o Javascript, os formulários Html tomam outra dimensão. Não esqueça que em Javascript, podemos acessar cada elemento de um formulário para, por exemplo, ler ou escrever um valor,
Formulários. Objeto Form
Capítulo 10 Formulários 10 Formulários OS COMPONENTES DE FORMULÁRIO SÃO OS OBJETOS HTML mais utilizados em JavaScript. Por componentes de formulário nos referimos a qualquer campo de entrada de dados dentro
JAVASCRIPT. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)
JAVASCRIPT Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) JAVASCRIPT É a linguagem de script da Web Adicionam funcionalidades às páginas HTML Validação de entrada Comunicação com servidores Web Entre
Exemplo de Aplicaça o Facebook
HCIM Summer Workshop Guião Hands-on Exemplo de Aplicaça o Facebook 1. Download do Software Development Kit (SDK) O download do SDK do Facebook encontra-se disponível aqui. Depois de fazer o download do
0,5 pelo negrito das palavras ID, Nome, E-mail e Analisar em outro momento.
IFES - Campus Cachoeiro de Itapemirim-ES Curso Técnico em Informática Disciplina: Programação Web Professor: Flávio Izo e Rafael Vargas Data: 07/04/2015 Aluno: GABARITO Valor: 12,5 Conteúdo: HTML + Formulários
O que é o Javascript?
O que é o Javascript? JavaScript é uma linguagem para criação de Home-Pages. Funções escritas em JavaScript podem ser embutidas dentro de seu documento HTML. Com JavaScript você tem muitas possibilidades
R E L A T Ó R I O D A A P R E S E N T A Ç Ã O J Q U E R Y
R E L A T Ó R I O D A A P R E S E N T A Ç Ã O J Q U E R Y SI S TE MAS D IS TR I BUÍD O S E TO LERÂ NC IA A FA L HA S Ângelo Santos M 4189 André Elias M4272 ÍNDICE Arquitectura e funcionamento... 3 Ferramentas...
Fundamentos de Programação II. Introdução à linguagem de programação C++
Fundamentos de Programação II Introdução à linguagem de programação C++ Prof. Rafael Henrique D. Zottesso Material cedido por Prof. Msc. Everton Fernando Baro Agenda IDE HelloWorld Variáveis Operadores
Fundamentos de Ajax e o Modelo DOM
Fundamentos de Ajax e o Modelo DOM Introdução O Ajax é uma nova tecnologia em ascensão e, embora o Ajax seja incontestavelmente atual, ele não é realmente novo. Ajax não é por si só tecnologia, mas sim
CGI - http://pt.wikipedia.org/wiki/cgi HTML - http://pt.wikipedia.org/wiki/html CSS - http://pt.wikipedia.org/wiki/cascading_style_sheets
Lazarus e CGI: Criando uma janela de login - Parte 2. Silvio Clécio - 19/07/2010 Dando continuidade ao artigo anterior, neste iremos aprender como criar uma janela de login no Lazarus, usando um projeto
#Aula Nº 3 Estilo CSS webstandards.samus.com.br webstandards.samus.com.br/aulas/aula3.pdf Vinicius Fiorio Custódio samus@samus.com.
#Aula Nº 3 Estilo CSS webstandards.samus.com.br webstandards.samus.com.br/aulas/aula3.pdf Vinicius Fiorio Custódio samus@samus.com.br #Objetivo Apresentar os conceitos de utilização do CSS, Sintaxe, Seletores
Vamos criar nosso formulário, vou utilizar aqui como exemplo cinco campos para upload:
Upload de vários arquivos com PHP 22.856 visualizações 2 1 Fala pessoal, hoje irei ensinar a fazer upload de vários arquivos de uma vez, ou seja, ao invés de criar apenas um campo para o usuário selecionar
Os componentes de um formulário são: Form, Input, Select e AreaText
HTML Formulário O elemento FORM, da HTML, é o responsável por prover documentos interativos no ambiente WWW de forma que uma pagina web exibida a um usuário possa submeter um conjunto de dados, informados
Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes
Como o FIT funciona FIT: Framework for Integrated Tests http://fit.c2.com Dados de testes Fixtures Programa classes FIT Resultados de testes Universidade Portucalense Engenharia de Software ES04 2014-2015
Microsoft Visual Studio Express 2012 for Windows Desktop
Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual
WORKSHOP. 2ª Sessão 08/10/15
WORKSHOP 2ª Sessão 08/10/15 HTML e CSS http://neecist.org/workshop JavaScript: O que é? Linguagem de programação interpretada pelo browser Corre do lado do cliente Permite manipular elementos da página
PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JQUERY
PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JQUERY Prof. Dr. Daniel Caetano 2012-1 Objetivos Introduzir o framework JQuery Capacitar para a construção de documentos JQuery simples Compreender os mecanismos
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
JavaScript. Programação de Servidores. Marx Gomes Van der Linden
JavaScript Programação de Servidores Marx Gomes Van der Linden JavaScript É uma linguagem de programação interpretada pelo navegador Programação para web no cliente. Padronizada pela W3C e suportada por
Aplication blackboxing
Aplication blackboxing Além da mentalidade monolítica Diogo Terror escalabilidade de código? escalabilidade de código! Diogo Terror Real Terror Estamos contratando recrutamento@boo-box.com Features++
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
6. Introdução à Linguagem PHP
6. Introdução à Linguagem PHP A comunicação na Web exige dois agentes: o cliente web e o servidor web. O cliente requer informação (a partir de uma página HTML acessada pelo navegador) e o servidor fornece
AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA
Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6
JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.
JavaScript JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos. Pode ser usada dentro do próprio arquivo HTML ou estruturada em um
Conteúdo. DHTML tópicos Hamilton Lima - 2002-2004
DHTML tópicos Hamilton Lima - 2002-2004 Conteúdo 1. meu primeiro script... 2 2. DOM Document Object Model...2 3. tipo de execução de scripts...2 4. resposta a um evento... 3 5. tipos de dados, variaveis
Renan Pupin. Resumo. Experiência. Full Stack Web Developer CEO at Orbitus Web renan_athas@hotmail.com
Renan Pupin Full Stack Web Developer CEO at Orbitus Web renan_athas@hotmail.com Resumo Hi, my name is Renan Pupin and I currently work as a Full Stack Web Developer Freelancer and CEO at Orbitus Web. I
Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
O código acima descreve o formulário com uma caixa de texto e dois botões
Formulários Formulários permitem que os usuários interajam com um servidor Web passando informações. Assim, através da Web, se pode ler e gravar informações em Banco de Dados, gerando enormes possibilidades
Introdução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Observações importantes:
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina Criação de Páginas de WEB Gabarito AD1 2 semestre de 2014. Observações importantes:
Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior
Desenvolvimento WEB em JAVA Palestrante: Lourival F. de Almeida Júnior Agenda Introdução Servlet Arquitetura de Software Velocity Struts Conclusão Referências Introdução (antes) Programador Produto Introdução
Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:
Criação de Applets Após ter sido criado o projeto, ao contrário dos exemplos anteriores onde criávamos uma aplicação na guia General da janela Object Gallery, agora iremos criar uma applet que está contida
Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione
Programação Web Prof. Wladimir
Programação Web Prof. Wladimir Linguagem PHP @wre2008 1 Sumário PHP: Tipos de dados; Manipulação de dados; Utilizando formulário. @wre2008 2 Tipos de dados As variáveis são declaradas no momento de sua
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Dialogs Dialogs são caixas de informações que servem para alertar o usuário sobre algo ou para solicitar algum tipo de informação
Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil
Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,