SlideShare uma empresa Scribd logo
Profissão:
Desenvolvedor
por Daniel Brandão
Me apresentando
Daniel Brandão
◇Na Informática desde 2002.
◇Desenvolvedor Web desde 2005
◇Professor pelo SENAI (2011-2014), pela
Faculdade AVEC(2013), pelo IFPB e UNIPÊ
(2015)
◇Graduado em SPI (2008)
◇Especialista em Aplicações Web(2015)
O que veremos?
 Breve introdução (senta que lá vem história)
 Evolução na Programação
 Programação Orientada a Objetos (POO)
 Design Patterns (Padrões de Projetos)
 Frameworks
 Mercado de Trabalho para Desenvolvedores
Por onde comecei
Meus primeiros passos
1
1998 – Meu primeiro PC
2002 – Digitador
2003 – Universidade
2004 – Estagiário
2005 – Programador
2009 – Gerente de projetos
2011 – Professor
“
A arte de programar consiste na arte
de organizar e dominar a complexidade.
Edsger Dijkstra
Primeira Experiência
◇Front-end: HTML e CSS.
◇Criação de sites simples e estáticos
◇Sem complexidades e sem Banco de dados.
A evolução2
Sistemas
◇Criação de sites Dinâmicos
■ Flash
■ PHP
■ MySQL
■ …
“
Qualquer um pode escrever um código
que o computador entenda. Bons
programadores escrevem códigos que
os humanos entendam.
Martin Fowler
POO2
Programação Orientada a Objetos
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
■ Porque programar OO?
■ Quais as vantagens?
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
É um conceito que esta relacionado com a ideia de
classificar, organizar e abstrair coisas.
O termo orientação a objetos significa organizar o
mundo real como uma coleção de objetos que
incorporam estrutura de dados e um conjunto de
operações que manipulam estes dados.
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
■ Porque programar OO?
■ Quais as vantagens?
P.O.O.
◇Programação Orientada a Objetos
■ Porque?
- POO é um padrão de desenvolvimento que é seguido
por muitas linguagens, como C#, Java, PHP;
- É mais fácil pensar em objetos do que em funções /
procedimentos pois objetos estão mais próximos ao
mundo real;
- Se bem programado, torna-se mais prática a
manutenção do programa.
P.O.O.
◇Programação Orientada a Objetos
■ O que é?
■ Porque programar OO?
■ Quais as vantagens?
P.O.O.
◇Programação Orientada a Objetos
■ Vantagens?
- Facilidade na manutenção do código;
- Trás vários recursos para produzir componentes
independentes intercambiáveis (encapsulamento,
interfaces, polimorfismo, etc);
- Criação de bibliotecas e utilização de bibliotecas
próprias da linguagem;
Design Patterns
◇O que é isso?
◇Porque MVC?
◇Modelos utilizados
Design Patterns
◇O que é isso?
- Padrão de projeto de software é uma solução geral
reutilizável para um problema que ocorre com
frequência dentro de um determinado contexto no
projeto de software;
- Normalmente mostram relacionamentos e interações
entre classes ou objetos, sem especificar as classes ou
objetos da aplicação final que estão envolvidas.
- MVC – Padrão bastante utilizado em linguagens OO
Design Patterns
◇O que é isso?
◇Porque MVC?
◇Modelos utilizados
Design Patterns
◇MVC
- Model-view-controller (MVC), em português modelo-
visão-controlador, é um padrão de arquitetura de
software (design pattern) que separa a
representação de informação da interação do
usuário com ele;
- Ele divide basicamente em três partes o projeto,
facilitando a manutenção de código e a segurança
no acesso aos dados.
Design Patterns
◇MVC
- O modelo (model) consiste nos dados da aplicação,
regras de negócios, lógica e funções.
- Uma visão (view) pode ser qualquer saída de
representação dos dados, como uma tabela ou um
diagrama. É possível ter várias visões do mesmo dado;
- O controlador (controller) faz a mediação da entrada,
convertendo-a em comandos para o modelo ou visão.
As ideias centrais por trás do MVC são a reusabilidade
de código e separação de conceitos.
Design Patterns
◇O que é isso?
◇Porque MVC?
◇Modelos utilizados
Design Patterns
◇Modelos utilizados (Frameworks)
◇Java
■Apache Struts
■Click Framework
■JSF
■Spring MVC
■Vraptor
■PrimeFaces
◇.NET
■ ASP.NET MVC - oficial da Microsoft
■ C♯ - oficial da Microsoft
Design Patterns
◇Modelos utilizados (Frameworks)
◇PHP
■CakePHP
■CodeIgniter
■Laravel
■Symfony
■Zend Framework
◇Python
■ Django
■ Zope
Design Patterns
◇CMS´s (Content Manager System)
■ CMS é a sigla para Content Management System, ou
em bom português, Sistema Gerenciador de Conteúdo.
Um CMS tem como objetivo facilitar a criação, edição,
publicação e distribuição de informação.
■ Voltado para a Web, são muito utilizados em
linguagens como PHP, Python e Ruby.
O que uma
empresa
Espera de mim?
O que uma
empresa
Espera de mim?
◇Atitude
◇Vontade de aprender
◇Proatividade
◇Bom relacionamento em grupo
◇Caixa de ferramentas
Frameworks
Usar ou Criar?
◇ Criação
◇ Utilização
3. Carreira: Por
onde começar?
Carreira
Dicas úteis
◇ Não pule etapas
◇ Almeje um objetivo
◇ Invista em você mesmo
◇ Aproveite as oportunidades
◇ Não pise nos outros para crescer
◇ Compartilhe o conhecimento
Como alçar
vôos
Mais altos?
Ter um bom
network
Segredos da carreira de
Desenvolvedor
Manter-se
atualizado
Nunca achar
que sabe tudo
Perguntas?
Obrigado!Você pode me achar por aqui:
◇DanielBrandao.com.br
◇Twitter @daniel85br
◇FB.me/danielbrandao.com.br
◇professor@danielbrandao.com.br
“
"Inovação é o que distingue um líder de
um seguidor."
{Steve Jobs}

Mais conteúdo relacionado

Mais procurados

A história da internet
A história da internetA história da internet
A história da internet
Ricardo Fulgencio
 
História da computação
História da computaçãoHistória da computação
História da computação
Bruno Ramalho
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - Windows
Suzana Viana Mota
 
Aula 02 introudção a computação
Aula 02 introudção a computaçãoAula 02 introudção a computação
Aula 02 introudção a computaçãoMatheus Brito
 
Exercicios introdução informática
Exercicios introdução informáticaExercicios introdução informática
Exercicios introdução informáticaFernanda Firmino
 
Aula 06 setup pc
Aula 06   setup pcAula 06   setup pc
Aula 06 setup pc
Marcos Basilio
 
Aula 01 - História da Computação
Aula 01 - História da ComputaçãoAula 01 - História da Computação
Aula 01 - História da Computação
Suzana Viana Mota
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
Cloves da Rocha
 
Informática básica-supera-cursos
Informática básica-supera-cursosInformática básica-supera-cursos
Informática básica-supera-cursos
Carlos Rodrigo de Araujo
 
Introducao a informatica
Introducao a informaticaIntroducao a informatica
Introducao a informatica
Leide Sayuri Ogasawara
 
Montagem e Manutenção de Computadores.pptx
Montagem e Manutenção de Computadores.pptxMontagem e Manutenção de Computadores.pptx
Montagem e Manutenção de Computadores.pptx
stenio medeiros
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobileDaniel Brandão
 
Apostila disciplina: Sociedade da Informação e Cultura Digital
Apostila disciplina: Sociedade da Informação e Cultura DigitalApostila disciplina: Sociedade da Informação e Cultura Digital
Apostila disciplina: Sociedade da Informação e Cultura Digital
Fausto Coimbra
 
Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1
Guilherme Nonino Rosa
 
Aula 11 - Word 2010
Aula 11 - Word 2010Aula 11 - Word 2010
Aula 11 - Word 2010
Renan Oliveira Baptista
 
Identidade Digital
Identidade DigitalIdentidade Digital
Identidade Digital
Paula Peres
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
Joka Luiz
 
Exercícios de hardware software
Exercícios de hardware softwareExercícios de hardware software
Exercícios de hardware softwarejocaco
 

Mais procurados (20)

A história da internet
A história da internetA história da internet
A história da internet
 
História da computação
História da computaçãoHistória da computação
História da computação
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - Windows
 
Aula 02 introudção a computação
Aula 02 introudção a computaçãoAula 02 introudção a computação
Aula 02 introudção a computação
 
Exercicios introdução informática
Exercicios introdução informáticaExercicios introdução informática
Exercicios introdução informática
 
Aula 06 setup pc
Aula 06   setup pcAula 06   setup pc
Aula 06 setup pc
 
Aula 01 - História da Computação
Aula 01 - História da ComputaçãoAula 01 - História da Computação
Aula 01 - História da Computação
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Informática básica-supera-cursos
Informática básica-supera-cursosInformática básica-supera-cursos
Informática básica-supera-cursos
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Introducao a informatica
Introducao a informaticaIntroducao a informatica
Introducao a informatica
 
Montagem e Manutenção de Computadores.pptx
Montagem e Manutenção de Computadores.pptxMontagem e Manutenção de Computadores.pptx
Montagem e Manutenção de Computadores.pptx
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
 
Introdução a computação
Introdução a computaçãoIntrodução a computação
Introdução a computação
 
Apostila disciplina: Sociedade da Informação e Cultura Digital
Apostila disciplina: Sociedade da Informação e Cultura DigitalApostila disciplina: Sociedade da Informação e Cultura Digital
Apostila disciplina: Sociedade da Informação e Cultura Digital
 
Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1
 
Aula 11 - Word 2010
Aula 11 - Word 2010Aula 11 - Word 2010
Aula 11 - Word 2010
 
Identidade Digital
Identidade DigitalIdentidade Digital
Identidade Digital
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
 
Exercícios de hardware software
Exercícios de hardware softwareExercícios de hardware software
Exercícios de hardware software
 

Destaque

Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
Daniel Brandão
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
Daniel Brandão
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
Daniel Brandão
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
Daniel Brandão
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
Daniel Brandão
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informática
Daniel Brandão
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
Daniel Brandão
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Daniel Brandão
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel Brandão
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem Java
Daniel Brandão
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Daniel Brandão
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
Daniel Brandão
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
Daniel Brandão
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
Daniel Brandão
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas Básicas
Daniel Brandão
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
Daniel Brandão
 
Incluir para evoluir - Palestra
Incluir para evoluir - PalestraIncluir para evoluir - Palestra
Incluir para evoluir - Palestra
Daniel Brandão
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Daniel Brandão
 

Destaque (20)

Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informática
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem Java
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas Básicas
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Incluir para evoluir - Palestra
Incluir para evoluir - PalestraIncluir para evoluir - Palestra
Incluir para evoluir - Palestra
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 

Semelhante a Palestra - Profissão: Desenvolvedor

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
César Augusto Pessôa
 
Geoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpGeoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpRafael Soto
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
Alexandre Andrade
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
Cicero Joasyo Mateus de Moura
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
Luis Fernando Marques
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
CV Alexandre R. de Castro
CV Alexandre R. de CastroCV Alexandre R. de Castro
CV Alexandre R. de Castro
Alexandre R. de Castro
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
Arlindo Santos
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
Cleiton Felipe Moraes
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
Cloves Moreira Junior
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
Fabrício Lopes Sanchez
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
Jaydson Gomes
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
André Luiz Forchesatto
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
Ralph Rassweiler
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
Dr. Spock
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloelliando dias
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
Vinícius Krolow
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
Cleiton Felipe Moraes
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Rodrigo Branas
 

Semelhante a Palestra - Profissão: Desenvolvedor (20)

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Geoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpGeoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake php
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
CV Alexandre R. de Castro
CV Alexandre R. de CastroCV Alexandre R. de Castro
CV Alexandre R. de Castro
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Django
DjangoDjango
Django
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 

Mais de Daniel Brandão

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
Daniel Brandão
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Sapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsSapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google Forms
Daniel Brandão
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end
Daniel Brandão
 
Criação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignCriação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material Design
Daniel Brandão
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
Daniel Brandão
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
Daniel Brandão
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
Daniel Brandão
 
Introdução a Informática
Introdução a InformáticaIntrodução a Informática
Introdução a Informática
Daniel Brandão
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
Daniel Brandão
 
Heurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webHeurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na web
Daniel Brandão
 

Mais de Daniel Brandão (11)

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Sapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsSapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google Forms
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end
 
Criação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignCriação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material Design
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Introdução a Informática
Introdução a InformáticaIntrodução a Informática
Introdução a Informática
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
 
Heurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na webHeurística, Principios e Usabilidade na web
Heurística, Principios e Usabilidade na web
 

Palestra - Profissão: Desenvolvedor

  • 2. Me apresentando Daniel Brandão ◇Na Informática desde 2002. ◇Desenvolvedor Web desde 2005 ◇Professor pelo SENAI (2011-2014), pela Faculdade AVEC(2013), pelo IFPB e UNIPÊ (2015) ◇Graduado em SPI (2008) ◇Especialista em Aplicações Web(2015)
  • 3. O que veremos?  Breve introdução (senta que lá vem história)  Evolução na Programação  Programação Orientada a Objetos (POO)  Design Patterns (Padrões de Projetos)  Frameworks  Mercado de Trabalho para Desenvolvedores
  • 4. Por onde comecei Meus primeiros passos 1
  • 5. 1998 – Meu primeiro PC 2002 – Digitador 2003 – Universidade 2004 – Estagiário 2005 – Programador 2009 – Gerente de projetos 2011 – Professor
  • 6. “ A arte de programar consiste na arte de organizar e dominar a complexidade. Edsger Dijkstra
  • 7. Primeira Experiência ◇Front-end: HTML e CSS. ◇Criação de sites simples e estáticos ◇Sem complexidades e sem Banco de dados.
  • 9. Sistemas ◇Criação de sites Dinâmicos ■ Flash ■ PHP ■ MySQL ■ …
  • 10. “ Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam. Martin Fowler
  • 12. P.O.O. ◇Programação Orientada a Objetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 13. P.O.O. ◇Programação Orientada a Objetos ■ O que é? É um conceito que esta relacionado com a ideia de classificar, organizar e abstrair coisas. O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam estes dados.
  • 14. P.O.O. ◇Programação Orientada a Objetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 15. P.O.O. ◇Programação Orientada a Objetos ■ Porque? - POO é um padrão de desenvolvimento que é seguido por muitas linguagens, como C#, Java, PHP; - É mais fácil pensar em objetos do que em funções / procedimentos pois objetos estão mais próximos ao mundo real; - Se bem programado, torna-se mais prática a manutenção do programa.
  • 16. P.O.O. ◇Programação Orientada a Objetos ■ O que é? ■ Porque programar OO? ■ Quais as vantagens?
  • 17. P.O.O. ◇Programação Orientada a Objetos ■ Vantagens? - Facilidade na manutenção do código; - Trás vários recursos para produzir componentes independentes intercambiáveis (encapsulamento, interfaces, polimorfismo, etc); - Criação de bibliotecas e utilização de bibliotecas próprias da linguagem;
  • 18. Design Patterns ◇O que é isso? ◇Porque MVC? ◇Modelos utilizados
  • 19. Design Patterns ◇O que é isso? - Padrão de projeto de software é uma solução geral reutilizável para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software; - Normalmente mostram relacionamentos e interações entre classes ou objetos, sem especificar as classes ou objetos da aplicação final que estão envolvidas. - MVC – Padrão bastante utilizado em linguagens OO
  • 20. Design Patterns ◇O que é isso? ◇Porque MVC? ◇Modelos utilizados
  • 21. Design Patterns ◇MVC - Model-view-controller (MVC), em português modelo- visão-controlador, é um padrão de arquitetura de software (design pattern) que separa a representação de informação da interação do usuário com ele; - Ele divide basicamente em três partes o projeto, facilitando a manutenção de código e a segurança no acesso aos dados.
  • 22. Design Patterns ◇MVC - O modelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções. - Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado; - O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a reusabilidade de código e separação de conceitos.
  • 23. Design Patterns ◇O que é isso? ◇Porque MVC? ◇Modelos utilizados
  • 24. Design Patterns ◇Modelos utilizados (Frameworks) ◇Java ■Apache Struts ■Click Framework ■JSF ■Spring MVC ■Vraptor ■PrimeFaces ◇.NET ■ ASP.NET MVC - oficial da Microsoft ■ C♯ - oficial da Microsoft
  • 25. Design Patterns ◇Modelos utilizados (Frameworks) ◇PHP ■CakePHP ■CodeIgniter ■Laravel ■Symfony ■Zend Framework ◇Python ■ Django ■ Zope
  • 26. Design Patterns ◇CMS´s (Content Manager System) ■ CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo. Um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação. ■ Voltado para a Web, são muito utilizados em linguagens como PHP, Python e Ruby.
  • 28. O que uma empresa Espera de mim? ◇Atitude ◇Vontade de aprender ◇Proatividade ◇Bom relacionamento em grupo ◇Caixa de ferramentas
  • 29. Frameworks Usar ou Criar? ◇ Criação ◇ Utilização
  • 31. Carreira Dicas úteis ◇ Não pule etapas ◇ Almeje um objetivo ◇ Invista em você mesmo ◇ Aproveite as oportunidades ◇ Não pise nos outros para crescer ◇ Compartilhe o conhecimento
  • 33. Ter um bom network Segredos da carreira de Desenvolvedor Manter-se atualizado Nunca achar que sabe tudo
  • 35. Obrigado!Você pode me achar por aqui: ◇DanielBrandao.com.br ◇Twitter @daniel85br ◇FB.me/danielbrandao.com.br ◇professor@danielbrandao.com.br
  • 36. “ "Inovação é o que distingue um líder de um seguidor." {Steve Jobs}