Baixe o app para aproveitar ainda mais
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;
Compartilhar