Palestra - Profissão: Desenvolvedor

Post on 18-Feb-2017

582 views 6 download

Transcript of Palestra - Profissão: Desenvolvedor

Profissão: Desenvolvedor

por Daniel Brandão

Me apresentandoDaniel 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 comeceiMeus primeiros passos

1

1998 – Meu primeiro PC2002 – Digitador2003 – Universidade2004 – Estagiário2005 – Programador2009 – Gerente de projetos2011 – 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

POO2Programaçã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 empresaEspera de mim?

O que uma empresaEspera de mim?

◇ Atitude◇ Vontade de aprender◇ Proatividade◇ Bom relacionamento em grupo◇ Caixa de ferramentas

FrameworksUsar ou Criar?

◇ Criação◇ Utilização

3. Carreira: Por onde começar?

CarreiraDicas ú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ôosMais 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}