|
|
| (4 revisões intermediárias por 2 usuários não estão sendo mostradas) |
| Linha 1: |
Linha 1: |
| = Apresentação =
| |
| <br>
| |
| * '''Processo de criação de um software:'''
| |
| **Levantamento de Requisitos
| |
| **Análise de Requisitos
| |
| **Projeto
| |
| **Implementação
| |
| ***É a codificação a partir da descrição computacional da fase de projeto em uma linguagem.
| |
| **Testes
| |
| ***Validar o produto de software. Testar cada funcionalidade levando em consideração a especificação feita na fase de projeto. Relatório de testes.
| |
| **Implantação
| |
| ***Instalação do software no ambiente do usuário. Manuais do sistema; Importação dos dados.
| |
| <br>
| |
|
| |
|
| = Funcionamento =
| |
| <br>
| |
| *'''API:'''
| |
| ** É uma espécie de mensageiro entre dois ou mais sistemas, exemplificando de maneira familiar, a API é como um garçom de um restaurante. O cliente, neste caso a aplicação que deseja receber os serviços, recebe do garçom o menu com todos os itens daquele restaurante. Ao escolher uma opção o garçom leva este pedido até a cozinha, aplicação da API, onde por sua vez os cozinheiros, que são os serviços compartilhados pela aplicação, realizam o pedido como foi descrito pelo cliente. Ao concluir o pedido o cozinheiro avisa o garçom, este por sua vez entrega o pedido ao cliente completando o processo de exemplificação uma requisição de API.
| |
| *'''Tipos de API:'''
| |
| **REST: Os Serviços web RESTful são qualquer serviço do grupo de abordagens que se molda aos princípios da arquitetura de Transferência de Estado Representativo (REST). SOAP: O Protocolo Simples de Acesso a Objetos (SOAP) baseado em Serviços de Web é baseado no protocolo WC3. O WC3 estabelece que o “SOAP é um protocolo mais leve para a troca de informações em um ambiente descentralizado e distribuído”.
| |
|
| |
|
| |
| ----
| |
|
| |
|
| |
| *'''Compiladores:'''
| |
| **O compilador é nada mais que um tradutor, isso pois a sua função é traduzir o código das aplicações desenvolvidas em linguagem de alto nível para uma linguagem de baixo nível ( linguagem de máquina).
| |
| **'''As atividades dos compiladores se resumem em duas tarefas:'''
| |
| ***'''Análise:''' Onde o compilador analisa o código fonte descrito, reconhecendo a estrutura e significado do programa, neste processo de análise há algumas subdivisões, o primeiro denominado 'analisador léxico' que verifica programa fonte e transforma um fluxo de tokens, sendo então criada a tabela de símbolos. O segundo leva o nome de 'análise sintática', que lê o fluxo de tokens e faz a validação tal estrutura criando em seguida uma 'árvore sintática'. Logo estes passos executados entram em ação a 'análise semântica', onde são aplicadas as regras semânticas
| |
| ***'''Síntese:''' A partir do resultado obtido na análise, o compilador gera o código intermediário criando assim um programa equivalente em Assembly, o compilador então realiza uma otimização nesse código, dando origem ao chamado “código objeto” que tem a finalidade de gerar o código de baixo nível correspondente a arquitetura da máquina alvo.
| |
|
| |
|
| |
|
| |
| ----
| |
|
| |
|
| |
|
| |
| *'''IDE:'''
| |
| **IDE, ou Ambiente Integral de Desenvolvimento em tradução livre, é um software criado com a finalidade de facilitar a vida dos programadores. Neste tipo de aplicação estão todas as funções necessárias para o desenvolvimento desde programas de computador a aplicativos mobile, assim como alguns recursos que diminuem a ocorrência de erros nas linhas de código. Se no passado os desenvolvedores precisavam apenas de um editor de texto e de um navegador para criar um software, agora, com os IDEs, eles possuem mais opções para otimizar o tempo gasto com os códigos. Imagine os IDEs como as calculadoras. Logicamente você aprende a fazer as operações matemáticas na escola, mas raramente as faz manualmente quando precisa. Open Source nada mais é do que um software com código fonte aberto. Ele proporciona que o usuário tenha uma liberdade maior sobre ele, podendo adequá-lo de acordo com suas necessidades. Além de te dar uma liberdade maior para mexer com o software, pelo código fonte ser livre, te permite acessá-lo e observar tudo o que acontece dentro do programa, evitando que algum código malicioso seja colocado dentro do software.
| |
|
| |
|
| |
|
| |
| ----
| |
|
| |
|
| |
|
| |
| *'''Webservice:'''
| |
| **'''O que é?'''
| |
| **Um Webservice é um recurso desenvolvido para que seja possível a comunicação entre sistemas e aplicações diferentes.
| |
| **'''Vantagens:'''
| |
| **Utilizar Webservices acarretam vantagens que podem facilitar o desenvolvimento de uma aplicação bem como diminuir o tempo de desenvolvimento da mesma, pois:
| |
| ***Permite reutilizar serviços previamente desenvolvidos;
| |
| ***Facilita a comunicação com aplicações e serviços externos;
| |
| ***Fornece segurança, uma vez que a base de dados é protegida e não acessada diretamente;
| |
| ***Reduz o tempo e custo de desenvolvimento de funcionalidades que já foram criadas.
| |
| **'''Como funciona:'''
| |
| **Um Webservice trabalha por meio de protocolos como o SOAP (Simple Object Access Protocol) e o REST (Representational State Transfer).
| |
| **O SOAP retornará dados de forma padronizada em formatos XML, que são chamados envelopes de mensagem, que contém os dados que foram requisitados pela chamada na Webservice.
| |
| **O REST é baseado no protocolo HTTP e permite que seja utilizado diversos formatos para as mensagens que são enviadas, como por exemplo XML, JSON e Plain Text. O REST é considerado bastante flexível e suas regras são aplicadas somente no comportamento dos componentes envolvidos.
| |
| <br>
| |
|
| |
| = Escolha da linguagem =
| |
| <br>
| |
| *'''Qual liguagem de programação escolher?'''
| |
| **No mercado atual exitem várias linguagens de programação ao teu dispor, porém na hora de fazer a escolha do qual vc irá usar; muitos se perdem aí.
| |
| *'''Qual o seu objetivo?'''
| |
| **'''Aprender:'''
| |
| **No mercado atual exitem várias linguagens de programação ao teu dispor, porém na hora de fazer a escolha do qual vc irá usar; muitos se perdem aí.
| |
| **Antes de tudo, você deve definir qual será o seu objetivo para esta linguagem, uma vez que cada linguagem possui seu ponto forte em áreas diferentes.
| |
| **Se você é um iniciante no mundo da programação, pode até ter programado algumas vezes, mas seu objetivo mesmo é aprender; uma boa esolha é a linguagem mais bem estruturada no quesito suporte. Uma linguagem que possui uma comunidade ativa, é mais fácil de se trabalhar com ela, uma vez que você terá que resolver problemas e ter onde procurar ajuda é essencial. Para quem está aprendendo, ter uma boa explicação da lógica da programação, é um ponto fortíssimo. Uma linguagem simples, pode se tornar um pesadelo quando mal explicada.
| |
| **Outro ponto que deve ser visto para aquele que busca aprender suas primeiras linguagens, é a simplicadade da mesma.
| |
| **'''Trabalho:'''
| |
| **Agora, se o seu objetivo é trabalhar, ou até mesmo criar um projeto; existem outros fatores que devem entrar na vista. Primeiro, se for mercado de trabalho, procure as linguagens que mais estão em alta no seu ambiente, sendo cidade, estado ou país. Por exemplo, aqui no Brasil, estão em alta Java, JavaScript, PHP e Python. Então, talves seja uma boa escolha para trabalho uma destas 4 linguagens.
| |
| **'''Criação:'''
| |
| **Agora, para parte de criação mesmo, os fatores que devem ser observados são outros. Você precisa saber se irá criar para Web, criar um programa para Desktop, ou até mesmo se irá criar para mobile.
| |
| <br>
| |
| **'''Desenvolvimento Web'''
| |
| ***Front-end: Javascript. (HTML+CSS).
| |
| ***Back-end: PHP, Python + Django, Ruby + Ruby on Rails, Javascript + Node.js, Go + Revel.
| |
|
| |
| **'''Desenvolvimento Embarcado'''
| |
| ***C e C++
| |
|
| |
| **'''Desenvolvimento Mobile'''
| |
| ***Nativo:
| |
| ****Java ou Kotlin para Android.
| |
| ****Objective-C ou Swift para iOS.
| |
|
| |
| ***Híbrido:
| |
| ****Phonegap ( HTML + CSS + Javascript),
| |
| ****React Native (Javascript),
| |
| ****Xamarin (C#)
| |
|
| |
| **'''Desenvolvimento de jogos'''
| |
| ***C e C++
| |
| <br>
| |
|
| |
| = Suporte para qualquer dúvida =
| |
| * luiz.theodoro@ufu.br
| |