Buscar

Resumo [Frameworks; POO; NodeJS; CakePHP...]

Prévia do material em texto

WEB 2 
1. O que são os Frameworks? 
São plataformas de desenvolvimento que possuem uma estrutura básica (geral, 
com as principais ferramentas de uma aplicação) funcionando como um esqueleto, 
e lacunas que serão posteriormente preenchidas pelo programador de acordo com 
sua necessidade. 
2. De que é formado um Framework? 
Um framework é formado por um conjunto de bibliotecas e ferramentas organizadas 
para servir como plataforma base para o desenvolvimento de aplicações, sendo 
selecionadas de acordo com a necessidade de aplicação do programador. Os 
frameworks também podem ser formados por extensões, que servem como 
ferramentas extras e funcionalidades especiais (geralmente desenvolvidas pelas 
comunidades). 
3. Porque usar um Framework? 
Pelo motivo principal de agilizar o processo de desenvolvimento, visto que o 
framework já traz uma série de módulos pré-configurados (e funcionando) para fazer 
as mais variadas e comuns tarefas. 
4. Quais são as principais vantagens de se utilizar um Framework? 
Agilidade no processo de desenvolvimento, Padronização, qualidade final do 
sistema, segurança, performance, estabilidade (menos falhas), manutenibilidade 
acesso fácil aos dados, geradores de código e módulos prontos (CRUD, 
autenticação de usuários, e-mail,....), etc. 
5. Porque as Comunidades são importantes? 
Pois a comunidade pode ajudar novos usuários com o processo de aprendizado em 
fóruns, eventos, canais de youtube, chats, blogs e listas de discussão. A evolução 
dos frameworks também depende da comunidade, que rapidamente pode detectar 
bugs, enviar correções e sugerir/implementar novas funcionalidades.Portanto, a 
escolha de um framework com comunidade pequena ou pouco ativa é um aspecto 
que pode dificultar bastante a vida de desenvolvedores iniciantes. 
6. Quais são os Frameworks das diferentes linguagens? 
Linguagem Java: JSF (java server faces), Hibernate, Spring, Linguagem Ruby: 
Rails, Linguagem Python: Django, Linguagem JavaScript: Node.js, Linguagem C#: 
DotNet, Linguagem PHP: CakePHP. 
 
7. Quais são os conceitos sólidos da Programação Orientada a Objetos? 
ABSTRAÇÃO; 
HERANÇA (é a possibilidade de classes e objetos compartilharem funções e 
atributos. Por exemplo, podemos criar uma classe chamada professor, que é 
um tipo de usuário, porém possui algumas particularidades, como atributos área e 
siape.); 
POLIMORFISMO; 
ENCAPSULAMENTO. 
8. Quais são as vantagens diretas e reais de se trabalhar em PHP? 
Vantagens Diretas – maior facilidade para reutilização de código, possibilidade do 
desenvolvedor trabalhar em um nível mais elevado de abstração, utilização de um 
único padrão conceitual durante todo o processo de criação de software, maior 
adequação à arquitetura cliente/servidor, maior facilidade de comunicação com os 
usuários e com outros profissionais de informática. 
Vantagens Reais – ciclo de vida mais longo para os sistemas, desenvolvimento 
acelerado de sistemas, Possibilidade de se construir sistema muito mais complexos, 
pela incorporação de funções prontas, menor custo para desenvolvimento e 
manutenção de sistemas. 
 
9. O que são os Namespaces PHP? 
Os namespaces ajudam a organizar o código fonte de projetos em uma estrutura de 
diretórios, que devem ser declarados e importados com o comando use. Os 
namespaces de PHP são semelhantes aos pacotes de Java. Ajudam a evitar colisão 
de nomes. 
10.O que são os Arrays Associativos? 
São arrays que utiliza-se nomes como como índices associados aos elementos. 
11.O que é uma Sessão? 
Sessão é um recurso do PHP que permite que você salve valores (variáveis) para 
serem usados ao longo da visita do usuário. Valores salvos na sessão podem ser 
usados em qualquer parte do script, mesmo em outras páginas do site. São 
variáveis que permanecem setadas até o visitante fechar o browser ou a sessão 
ser destruída. 
 
12.O que é o Composer? 
O Composer é um gerenciador de dependências do PHP. Liste as dependências do 
seu projeto em um arquivo composer.json e, com poucos comandos simples, o 
Composer irá fazer o download das dependências do seu projeto automaticamente 
e configurará o autoloading para você. Atualmente os frameworks web cresceram 
muito, então as suas bibliotecas acabam ficando pesadas e elas são atualizadas 
constantemente. o Composer é uma ferramenta na qual você instala e atualiza 
bibliotecas de um determinado framework ou ferramenta. 
 
 
 
Definição de PROTOCOLO HTTP: 
“Hypertext Transfer Protocol (HTTP) é o método utilizado para transferência de 
dados de páginas na web entre aplicações clientes (browsers) e servidores. 
 
JSF (Java Server Faces): Framework responsável pela camada de visão muito 
indicado para programas que utilizarão o padrão MVC (Model View Control), uma de 
suas características é o uso do AJAX de maneira nativa. 
Comunidades: Os grupos de usuários Java são muito fortes em todo o mundo e 
graças a eles é possível obter material para estudos de maneira fácil, participar de 
encontros regionais, palestras e até minicursos. 
• Grande número de frameworks: Graças ao investimento das comunidades e 
também de algumas empresas, existem hoje uma variedade de frameworks que 
visam facilitar o trabalho do desenvolvedor. O Java não roda somente Java: A 
máquina virtual Java atualmente roda cerca de 350 linguagens. Desenvolva em 
qualquer sistema operacional para qualquer sistema operacional: 
 
Ruby é uma linguagem de programação de tipagem dinâmica e forte, com 
gerenciamento de memória automático, para ser usada como linguagem de script. 
• Tudo em Ruby é objeto. Framework com foco na produtividade do 
desenvolvimento. 
Ruby possui uma sintaxe simplista e muitos métodos poderosos que facilitam muito 
a vida do programador. Existem problemas que levariam mais de 20 linhas de 
código em uma "linguagem clássica" sendo resumido em 3 linhas usando o Ruby. 
 
Django é um framework para desenvolvimento rápido para web, escrito em Python, 
que utiliza o padrão model-template-view. (MTV). É um ótimo Framework para 
aprender o desenvolvimento para Web. A comunidade é ativa e prestativa (assim 
com outras...), Há um grande quantidade de materiais de aprendizado e 
documentação: videos, tutoriais, apostilas... 
Mapeamento Objeto-Relacional (ORM) 
Com o ORM do Django você define a modelagem de dados através de classes em 
Python. Com isso é possível gerar suas tabelas no banco de dados e manipulá-las 
sem necessidade de utilizar SQL (o que também é possível). 
Interface Administrativa 
No Django é possível gerar automaticamente uma interface para administração 
dos modelos criados através do ORM. 
 
Formulários 
É possível gerar formulários automaticamente através dos modelos de dados. 
URLs Amigáveis 
No Django não há limitações 
 
Node.js 
é uma linguagem de programação interpretada .Foi originalmente implementada 
como parte dos navegadores web para que scripts pudessem ser executados do 
lado do cliente e interagissem com o usuário sem a necessidade deste script passar 
pelo servidor, controlando o navegador, realizando comunicação assíncrona e 
alterando o conteúdo do documento exibido. 
É atualmente a principal linguagem para programação client-side em navegadores 
web. Caracteristicas: 
Escalabilidade 
Mais custos com desenvolvedores(desenvolvedor mais 
especializado salário maior) 
● Desenvolvimento Rápido. Depende do referêncial (Rails ? Django ? 
NÃO) 
● Menos custos com processamento 
● Menos arquivos 
● Menos linhas de código 
 
CakePHP é um framework web completo de código aberto escrito em PHP que foi 
iniciado em 2005. Ele trabalha seguindo o padrão MVC e é voltado para o 
desenvolvimento rápido. Possui uma excelente documentação e uma comunidade 
muito ativa. 
Comunidade ativa e amigável 
● CRUD integrado para interação com o banco de dados 
● Geração de código 
● Arquitetura MVC 
● URLs e rotas customizáveis 
● Validações embutidas 
● Templates rápidos e flexíveis (Sintaxe PHP, com helpers) 
● Componentes de Email, Cookie, Segurança, Sessão 
● Sistema de Cache flexível 
● Localização 
● Funciona a partir de qualquer diretório do website;

Continue navegando