O documento apresenta uma agenda para um treinamento iOS, abordando conceitos básicos da plataforma e linguagem Objective-C, incluindo frameworks Cocoa Touch, design patterns, classes, protocolos, categories e runtime dinâmico. A parte da manhã é dedicada à introdução teórica e um "dojo" de Objective-C, enquanto à tarde os participantes terão uma sessão prática.
Um pouco sobre a história e funcionalidades do Ruby e como juntou-se com o Rails. Um pouco também dos projetos na PTInovação que se utilizam dessas tecnologias.
Ruby é uma linguagem de programação dinâmica e interpretada criada em meados dos anos 1990 por Yukihiro Matsumoto. É uma linguagem orientada a objetos que suporta programação funcional e dinâmica, com coleta de lixo automática e duck typing. Ruby pode ser usado em vários sistemas operacionais e é popular para desenvolvimento web com o framework Rails.
Este documento resume os principais aspectos da linguagem de programação Java, incluindo operadores, conversão de tipos, estruturas de controle, comentários, blocos de código, palavras reservadas, tipos primitivos e a classe Scanner.
Este documento apresenta uma introdução à linguagem de programação Java, abordando suas características, histórico, variáveis, tipos primitivos, comentários, operadores, estruturas de controle, arrays e laços de repetição.
(1) O documento apresenta uma introdução à linguagem Java, abordando sua história, características da plataforma e fundamentos da linguagem como variáveis, operadores e estruturas condicionais;
(2) São apresentados conceitos como tipos primitivos, declaração de classes e variáveis, operadores unários, incremento/decremento e representação de sinal;
(3) O documento também explica conceitos importantes como escopo de variáveis e realiza um exercício prático para fixação dos conceitos apresentados.
Lua é uma linguagem de script desenvolvida no Brasil na década de 1990 para ser leve, rápida e fácil de usar. Ela é amplamente utilizada em jogos, sistemas embarcados e outras aplicações. Lua oferece gerenciamento automático de memória, tipos de dados básicos e estruturas de controle como if/else e while.
O documento discute redes de computadores, sistemas distribuídos e padrões como RMI, CORBA e SOA. Ele explica como RMI permite a execução remota de métodos em Java, como CORBA fornece interoperabilidade multiplataforma através de interfaces IDL e como SOA promove a exposição de recursos como serviços web.
Um pouco sobre a história e funcionalidades do Ruby e como juntou-se com o Rails. Um pouco também dos projetos na PTInovação que se utilizam dessas tecnologias.
Ruby é uma linguagem de programação dinâmica e interpretada criada em meados dos anos 1990 por Yukihiro Matsumoto. É uma linguagem orientada a objetos que suporta programação funcional e dinâmica, com coleta de lixo automática e duck typing. Ruby pode ser usado em vários sistemas operacionais e é popular para desenvolvimento web com o framework Rails.
Este documento resume os principais aspectos da linguagem de programação Java, incluindo operadores, conversão de tipos, estruturas de controle, comentários, blocos de código, palavras reservadas, tipos primitivos e a classe Scanner.
Este documento apresenta uma introdução à linguagem de programação Java, abordando suas características, histórico, variáveis, tipos primitivos, comentários, operadores, estruturas de controle, arrays e laços de repetição.
(1) O documento apresenta uma introdução à linguagem Java, abordando sua história, características da plataforma e fundamentos da linguagem como variáveis, operadores e estruturas condicionais;
(2) São apresentados conceitos como tipos primitivos, declaração de classes e variáveis, operadores unários, incremento/decremento e representação de sinal;
(3) O documento também explica conceitos importantes como escopo de variáveis e realiza um exercício prático para fixação dos conceitos apresentados.
Lua é uma linguagem de script desenvolvida no Brasil na década de 1990 para ser leve, rápida e fácil de usar. Ela é amplamente utilizada em jogos, sistemas embarcados e outras aplicações. Lua oferece gerenciamento automático de memória, tipos de dados básicos e estruturas de controle como if/else e while.
O documento discute redes de computadores, sistemas distribuídos e padrões como RMI, CORBA e SOA. Ele explica como RMI permite a execução remota de métodos em Java, como CORBA fornece interoperabilidade multiplataforma através de interfaces IDL e como SOA promove a exposição de recursos como serviços web.
O documento apresenta uma introdução ao C#, mostrando suas principais características e vantagens. A linguagem é nova, robusta e orientada a objetos, desenvolvida em conjunto com a plataforma .NET. O C# é baseado no C++ e suporta programação orientada a objetos, componentes e o gerenciamento automático de memória.
Palestra realizada em abril de 2009 no FLISOL de Aracaju/Sergipe. O tema foi o framework orientado a objetos em PHP chamado Symfony.
Algumas de suas features:
- utiliza a arquitetura MVC (Model View Controller), isto é, separação das camadas de apresentação, controle e modelo.
- utiliza bastantes componentes independentes como o Doctrine e Propel (ORM), YML (arquivos de configuração) e outros. Que podem ser adotados em outros projetos que não utilizam o Symfony.
- possui geração automática de CRUD (create, retrieve, update, delete)
- possui uma documentação e comunidade muito grandes.
- geração automática de telas de administração
- ambiente de desenvolvimento com debug
- ambiente de teste
- integração com sincronizador de arquivos (para atualização do projeto na produção)
- separação de configuração para ambientes de teste, desenvolvimento e produção.
- e muito mais...
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
1. O documento descreve um seminário sobre Java oferecido pela Sun Microsystems, apresentando os cursos, palestrantes e agenda do evento.
2. A tecnologia Java é introduzida, destacando suas origens, conceitos como orientação a objetos, portabilidade, segurança e desempenho.
3. Instruções para instalação do Java Development Kit (JDK) são fornecidas para preparar os participantes para o desenvolvimento de aplicativos Java.
O documento fornece uma introdução à tecnologia Java, abordando seus conceitos-chave como a linguagem Java, a máquina virtual Java, o ambiente de execução e desenvolvimento, além de explicar brevemente como escrever, compilar e executar aplicações Java.
O documento apresenta uma introdução sobre o desenvolvimento de aplicativos para iOS usando o padrão MVC. Aborda os requisitos, pré-requisitos, camadas, componentes e exemplos de aplicativos para a plataforma iOS.
O documento apresenta uma introdução ao desenvolvimento de aplicativos para iOS usando a linguagem Objective-C, cobrindo tópicos como ferramentas, linguagem, frameworks, design de interface humana e preparação para a App Store.
Slides do primeiro dia do Workshop (intensivo :) ) sobre Introdução à Programação de Dispositivos Móveis (Google Android, Apple iPhone, iPod Touch e iPad)
1. O documento apresenta um capítulo sobre a introdução à linguagem Java, cobrindo seu histórico, características, tipos de dados e estruturas de controle.
2. É descrito o histórico da criação da linguagem Java pela Sun Microsystems visando computação interativa em dispositivos móveis.
3. As principais características da linguagem Java são detalhadas, incluindo ser simples, orientada a objetos, multithread, interpretada, portátil, robusta e segura.
1) Este documento apresenta um capítulo sobre a introdução à linguagem Java, cobrindo tópicos como o histórico da linguagem, características como orientação a objetos e multithreading, e detalhes sobre a plataforma Java.
2) A linguagem Java foi criada originalmente como parte de um projeto da Sun Microsystems chamado Green Project e lançada oficialmente em 1995 como uma linguagem simples, orientada a objetos e portátil executada em uma máquina virtual.
3) A plataforma Java é composta pela linguagem de programação Java
O documento discute sistemas distribuídos, definindo-os como coleções de computadores interligados que se apresentam como um único sistema. Explora conceitos como RPC, RMI e CORBA para programação em sistemas distribuídos e discute vantagens como escalabilidade e tolerância a falhas, e desvantagens como complexidade e imprevisibilidade. Também explica o que são IDL, stubs e skeletons para comunicação entre sistemas.
O documento apresenta uma introdução à linguagem de programação C#. Apresenta os principais conceitos como: 1) Histórico e características da linguagem; 2) Ambiente de desenvolvimento Visual Studio; 3) Criação de um programa "Olá Mundo" simples para demonstrar os primeiros passos.
1) O documento apresenta fundamentos da programação orientada a objetos em Java, incluindo classes, atributos, métodos, herança, abstração e encapsulamento.
2) A programação orientada a objetos modela sistemas como coleções de objetos que cooperam através de mensagens, ao contrário da programação estruturada que se concentra em funções.
3) Classes descrevem os dados e comportamentos de objetos através de atributos e métodos.
O documento introduz os principais conceitos da linguagem de programação Java, incluindo sua história, características, plataformas, JVM, tipos de dados, controle de fluxo, classes, herança e tratamento de exceções.
O documento discute o projeto Mono, que permite rodar aplicações .NET em sistemas não-Windows. Aborda a interoperabilidade entre Java e .NET através do IKVM, e apresenta casos de uso do Mono e do IKVM.
1) O documento descreve a linguagem de programação Java, sua história e conceitos principais.
2) Java foi originalmente criado para dispositivos embarcados e lançado publicamente em 1996.
3) A máquina virtual Java (JVM) executa os bytecodes gerados a partir do código Java, tornando a linguagem independente de plataforma.
C# é uma linguagem de programação orientada a objetos derivada de C/C++ que faz parte da plataforma .NET da Microsoft. A linguagem possui recursos como coleta de lixo automática e tratamento de exceções que auxiliam na construção de softwares robustos. O documento apresenta os conceitos básicos de C# e mostra como escrever um programa "Olá Mundo" nesta linguagem.
1) O documento descreve a linguagem de programação Java, incluindo sua história, características e como criar e executar programas Java.
2) É apresentado um exemplo de programa "Olá Mundo" em Java com explicações passo a passo.
3) São fornecidas instruções sobre como instalar o kit de desenvolvimento Java da Sun e escrever documentação JavaDoc.
1) O documento descreve um minicurso sobre a tecnologia Java, abordando seus conceitos, programação, ambiente de desenvolvimento e exemplos de aplicativos.
2) Serão apresentados os principais conceitos da linguagem Java e da plataforma, programação básica em Java, instalação do ambiente de desenvolvimento Eclipse e do servidor Tomcat.
3) Como exemplo, será desenvolvido um programa para gerenciamento de oficina mecânica e um aplicativo web para o mesmo domínio.
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
Em determinadas ocasiões, dependendo dos requisitos de uma aplicação, pode ser preciso percorrer todos os elementos de uma árvore para, por exemplo, exibir todo o seu conteúdo ao usuário. De acordo com a ordem de visitação dos nós, o usuário pode ter visões distintas de uma mesma árvore.
Imagine que, para percorrer uma árvore, tomemos o nó raiz como nó inicial e, a partir dele, comecemos a visitar todos os nós adjacentes a ele para, só então, começar a investigar os outros nós da árvore. Por outro lado, imagine que tomamos um nó folha como ponto de partida e caminhemos em direção à raiz, visitando apenas o ramo da árvore que leva o nó folha à raiz. São maneiras distintas de se visualizar a mesma árvore.
Tome a árvore binária a seguir como base para realizar percursos que partirão sempre da raiz (nó 1).
Figura 1 - Árvore binária
Fonte: OLIVEIRA, P. M. de; PEREIRA, R. de L. Estruturas de Dados II. Maringá: UniCesumar, 2019. p. .
Com base na árvore anterior, responda quais seriam as ordens de visitação, partindo da raiz:
a) Percorrendo a árvore pelo algoritmo Pré-Ordem.
b) Percorrendo a árvore pelo algoritmo Em-Ordem.
c) Percorrendo a árvore pelo algoritmo Pós-Ordem.
Obs.: como resposta, informar apenas os caminhos percorridos em cada Situação:
a) Pré-ordem: X - Y - Z.
b) Em-ordem: X - Y - Z.
c) Pós-ordem: X - Y - Z.
ATENÇÃO!
- Você poderá elaborar sua resposta em um arquivo de texto .txt e, após revisado, copiar e colar no campo destinado à resposta na própria atividade em seu STUDEO.
- Plágios e cópias indevidas serão penalizados com nota zero.
- As perguntas devem ser respondidas de forma adequada, ou seja, precisam ser coerentes.
- Antes de enviar sua atividade, certifique-se de que respondeu todas as perguntas e não se esqueceu nenhum detalhe. Após o envio, não são permitidas alterações. Por favor, não insista.
- Não são permitidas correções parciais no decorrer do módulo, isso invalida seu processo avaliativo. A interpretação da atividade faz parte da avaliação.
- Atenção ao prazo de entrega da atividade. Sugerimos que envie sua atividade antes do prazo final para evitar transtornos e lentidão nos servidores. Evite o envio de atividade em cima do prazo.
O documento apresenta uma introdução ao C#, mostrando suas principais características e vantagens. A linguagem é nova, robusta e orientada a objetos, desenvolvida em conjunto com a plataforma .NET. O C# é baseado no C++ e suporta programação orientada a objetos, componentes e o gerenciamento automático de memória.
Palestra realizada em abril de 2009 no FLISOL de Aracaju/Sergipe. O tema foi o framework orientado a objetos em PHP chamado Symfony.
Algumas de suas features:
- utiliza a arquitetura MVC (Model View Controller), isto é, separação das camadas de apresentação, controle e modelo.
- utiliza bastantes componentes independentes como o Doctrine e Propel (ORM), YML (arquivos de configuração) e outros. Que podem ser adotados em outros projetos que não utilizam o Symfony.
- possui geração automática de CRUD (create, retrieve, update, delete)
- possui uma documentação e comunidade muito grandes.
- geração automática de telas de administração
- ambiente de desenvolvimento com debug
- ambiente de teste
- integração com sincronizador de arquivos (para atualização do projeto na produção)
- separação de configuração para ambientes de teste, desenvolvimento e produção.
- e muito mais...
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
1. O documento descreve um seminário sobre Java oferecido pela Sun Microsystems, apresentando os cursos, palestrantes e agenda do evento.
2. A tecnologia Java é introduzida, destacando suas origens, conceitos como orientação a objetos, portabilidade, segurança e desempenho.
3. Instruções para instalação do Java Development Kit (JDK) são fornecidas para preparar os participantes para o desenvolvimento de aplicativos Java.
O documento fornece uma introdução à tecnologia Java, abordando seus conceitos-chave como a linguagem Java, a máquina virtual Java, o ambiente de execução e desenvolvimento, além de explicar brevemente como escrever, compilar e executar aplicações Java.
O documento apresenta uma introdução sobre o desenvolvimento de aplicativos para iOS usando o padrão MVC. Aborda os requisitos, pré-requisitos, camadas, componentes e exemplos de aplicativos para a plataforma iOS.
O documento apresenta uma introdução ao desenvolvimento de aplicativos para iOS usando a linguagem Objective-C, cobrindo tópicos como ferramentas, linguagem, frameworks, design de interface humana e preparação para a App Store.
Slides do primeiro dia do Workshop (intensivo :) ) sobre Introdução à Programação de Dispositivos Móveis (Google Android, Apple iPhone, iPod Touch e iPad)
1. O documento apresenta um capítulo sobre a introdução à linguagem Java, cobrindo seu histórico, características, tipos de dados e estruturas de controle.
2. É descrito o histórico da criação da linguagem Java pela Sun Microsystems visando computação interativa em dispositivos móveis.
3. As principais características da linguagem Java são detalhadas, incluindo ser simples, orientada a objetos, multithread, interpretada, portátil, robusta e segura.
1) Este documento apresenta um capítulo sobre a introdução à linguagem Java, cobrindo tópicos como o histórico da linguagem, características como orientação a objetos e multithreading, e detalhes sobre a plataforma Java.
2) A linguagem Java foi criada originalmente como parte de um projeto da Sun Microsystems chamado Green Project e lançada oficialmente em 1995 como uma linguagem simples, orientada a objetos e portátil executada em uma máquina virtual.
3) A plataforma Java é composta pela linguagem de programação Java
O documento discute sistemas distribuídos, definindo-os como coleções de computadores interligados que se apresentam como um único sistema. Explora conceitos como RPC, RMI e CORBA para programação em sistemas distribuídos e discute vantagens como escalabilidade e tolerância a falhas, e desvantagens como complexidade e imprevisibilidade. Também explica o que são IDL, stubs e skeletons para comunicação entre sistemas.
O documento apresenta uma introdução à linguagem de programação C#. Apresenta os principais conceitos como: 1) Histórico e características da linguagem; 2) Ambiente de desenvolvimento Visual Studio; 3) Criação de um programa "Olá Mundo" simples para demonstrar os primeiros passos.
1) O documento apresenta fundamentos da programação orientada a objetos em Java, incluindo classes, atributos, métodos, herança, abstração e encapsulamento.
2) A programação orientada a objetos modela sistemas como coleções de objetos que cooperam através de mensagens, ao contrário da programação estruturada que se concentra em funções.
3) Classes descrevem os dados e comportamentos de objetos através de atributos e métodos.
O documento introduz os principais conceitos da linguagem de programação Java, incluindo sua história, características, plataformas, JVM, tipos de dados, controle de fluxo, classes, herança e tratamento de exceções.
O documento discute o projeto Mono, que permite rodar aplicações .NET em sistemas não-Windows. Aborda a interoperabilidade entre Java e .NET através do IKVM, e apresenta casos de uso do Mono e do IKVM.
1) O documento descreve a linguagem de programação Java, sua história e conceitos principais.
2) Java foi originalmente criado para dispositivos embarcados e lançado publicamente em 1996.
3) A máquina virtual Java (JVM) executa os bytecodes gerados a partir do código Java, tornando a linguagem independente de plataforma.
C# é uma linguagem de programação orientada a objetos derivada de C/C++ que faz parte da plataforma .NET da Microsoft. A linguagem possui recursos como coleta de lixo automática e tratamento de exceções que auxiliam na construção de softwares robustos. O documento apresenta os conceitos básicos de C# e mostra como escrever um programa "Olá Mundo" nesta linguagem.
1) O documento descreve a linguagem de programação Java, incluindo sua história, características e como criar e executar programas Java.
2) É apresentado um exemplo de programa "Olá Mundo" em Java com explicações passo a passo.
3) São fornecidas instruções sobre como instalar o kit de desenvolvimento Java da Sun e escrever documentação JavaDoc.
1) O documento descreve um minicurso sobre a tecnologia Java, abordando seus conceitos, programação, ambiente de desenvolvimento e exemplos de aplicativos.
2) Serão apresentados os principais conceitos da linguagem Java e da plataforma, programação básica em Java, instalação do ambiente de desenvolvimento Eclipse e do servidor Tomcat.
3) Como exemplo, será desenvolvido um programa para gerenciamento de oficina mecânica e um aplicativo web para o mesmo domínio.
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
Em determinadas ocasiões, dependendo dos requisitos de uma aplicação, pode ser preciso percorrer todos os elementos de uma árvore para, por exemplo, exibir todo o seu conteúdo ao usuário. De acordo com a ordem de visitação dos nós, o usuário pode ter visões distintas de uma mesma árvore.
Imagine que, para percorrer uma árvore, tomemos o nó raiz como nó inicial e, a partir dele, comecemos a visitar todos os nós adjacentes a ele para, só então, começar a investigar os outros nós da árvore. Por outro lado, imagine que tomamos um nó folha como ponto de partida e caminhemos em direção à raiz, visitando apenas o ramo da árvore que leva o nó folha à raiz. São maneiras distintas de se visualizar a mesma árvore.
Tome a árvore binária a seguir como base para realizar percursos que partirão sempre da raiz (nó 1).
Figura 1 - Árvore binária
Fonte: OLIVEIRA, P. M. de; PEREIRA, R. de L. Estruturas de Dados II. Maringá: UniCesumar, 2019. p. .
Com base na árvore anterior, responda quais seriam as ordens de visitação, partindo da raiz:
a) Percorrendo a árvore pelo algoritmo Pré-Ordem.
b) Percorrendo a árvore pelo algoritmo Em-Ordem.
c) Percorrendo a árvore pelo algoritmo Pós-Ordem.
Obs.: como resposta, informar apenas os caminhos percorridos em cada Situação:
a) Pré-ordem: X - Y - Z.
b) Em-ordem: X - Y - Z.
c) Pós-ordem: X - Y - Z.
ATENÇÃO!
- Você poderá elaborar sua resposta em um arquivo de texto .txt e, após revisado, copiar e colar no campo destinado à resposta na própria atividade em seu STUDEO.
- Plágios e cópias indevidas serão penalizados com nota zero.
- As perguntas devem ser respondidas de forma adequada, ou seja, precisam ser coerentes.
- Antes de enviar sua atividade, certifique-se de que respondeu todas as perguntas e não se esqueceu nenhum detalhe. Após o envio, não são permitidas alterações. Por favor, não insista.
- Não são permitidas correções parciais no decorrer do módulo, isso invalida seu processo avaliativo. A interpretação da atividade faz parte da avaliação.
- Atenção ao prazo de entrega da atividade. Sugerimos que envie sua atividade antes do prazo final para evitar transtornos e lentidão nos servidores. Evite o envio de atividade em cima do prazo.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
2. Agenda
- Manhã (parte 1): Introdução aos conceitos
básicos da plataforma e da linguagem
Objective-C.
- Manhã (parte 2): Dojo com objective-c para
pegar as manhas ;)
- Tarde: Hands On!
3. Conceitos Básicos: Cocoa Touch
- “The Cocoa Touch frameworks
that drive iOS apps share many
proven patterns found on the Mac,
but were built with a special focus
on touch-based interfaces and
optimization. “ Redator da Apple
5. Cocoa Touch - Foundation.framework
- Base da linguagem(Swift e Obj-C).
- Onde fica os tipos primitivos, tipos de
classe, estruturas, coleções… você
entendeu.
- Foi projetado para ser pequeno, pensando
em portabilidade e facilitar o
desenvolvimento através de convenções
pré-definidas.
6. Cocoa Touch - UiKit.framework
- Framework com tudo que você vai usar no
dia a dia.
- Sério, tudo mesmo!
7. Cocoa Touch - MapKit.framework
- Cuida apenas de assuntos relacionados a
mapas (como o nome indica).
- Desde colocar um mapa dentro da sua view
como fazer reverse-coding pra determinar
um endereço
9. Conceitos Básicos: Objective C
- “Objective-C is the primary programming
language you use when writing software for
OS X and iOS. It’s a superset of the C
programming language and provides object-
oriented capabilities and a dynamic runtime.
”
12. Objective C - Classes
- Lista com todos os tipos pro @property
- atomic
- nonatomic
- retain
- copy
- readonly
- readwrite
- assign
- strong
13. Objective C - Protocol
- Protocols servem para definir
comportamentos esperados por um objeto.
(ou seja, uma interface).
- Você pode definir métodos e propriedades
que, aqueles que implementarem o protocol,
iram incorporar. Eles podem ser obrigatórios
ou não.
15. - São responsáveis por definir métodos de
extensão a tipos já definidos.
- Essencialmente, é uma classe que adiciona
novos comportamentos a outras classes.
Objective C - Categories
17. Objective C - Dynamic Runtime
- ID type
- Distributed Objects
- Dynamic setters/getters
- Key-Value observing
18. Conceitos Básicos - Storyboard
- No iOS 6, foi apresentado o conceito de
Storyboard.
- Dentro dele, você pode ter Scenes.
- Você pode definir a navegação entre essas
cenas utilizando o conceito de Segue.
- Você pode customizar as transições criando
seus próprios segues.
21. Conceitos Básicos: Core Data
- CoreData é o framework responsável pela
persistência dos dados.
- Possui uma API para mapear objetos,
persistir os dados e trabalha com diversos
contextos
Hot links
http://rypress.com/tutorials/objective-c/
Não vou alongar e falar sobre iOS, Apple, Mac e blablaba pq isso
todo mundo aqui já conhece. Mas eu quero falar de alguns conceitos básicos relacionados
ao desenvolvimento pra plataforma iOS. Eu considero importante, pelo menos, saber que isso existe.
O CocoaTouch é um framework que permite a manipulação dos recursos do celular, através de APIs criadas
pela apple.
Em comparação, é muito similar ao .Net Framework, um framework de ferramentas que você
usa para desenvolver suas aplicações.
O CocoaTouch deriva do Cocoa, que é a API pra Mac. Muitas das APIs que tem no Cocoa (Como o Foundation.Kit), também
tem dentro do CococaTouch.
Eu considero que esses sejam os principais frameworks que existem
dentro do Cocoa Touch.
Vou falar um pouco mais sobre cada um deles começando...
Como o nome já indica, o Foundation é a base da linguagem. Lá que se vai achar tudo,
Todos tipos primitivos, estruturas, coleções, tipos de classe e algumas coisas a mais, como classes pra acesso as portas de comunicação.
Esse framework é, basicamente, todo a API de desenvolvimento que você vai acessar. Nele tem controle de interface,
controle e indentificação de toques, processamento gráfico das telas, gerar pdf, integração com outros apps...
abrir link : https://developer.apple.com/library/ios/documentation/Uikit/reference/UIKit_Framework/index.html
Bom, esse aqui é bem simples, mas acho que deve ser um dos recursos mais usados
hoje em dia nos apps.
Como o nome indica, esse é framework responsável por mapas no iOS. Fazer marcações, determinar rotas, Encontrar endereços, enfim, TUDO.
(veja se querem perguntar alguma coisa)
O desenvolvimento com iOS foi modelado para ser MVC, e funciona (ou deveria) exatamente do jeito que você sabe. Ele também tem outros paradigmas dentro deles, como o Target Action.
O target-action é um conceito em que, basicamente, um objeto enviando uma msg para o outro. No iOS, por exemplo, os eventos de interface são definidos através desse pattern (citar exemplo touch up - button).
Delegation pra quem não sabe, é quando um objeto agi através, ou em conjunto, com outro objeto. Um bom exemplo, é a classe UITableView (http://www.codigator.com/wp-content/uploads/2013/05/15.jpg).
mostrar (http://tryobjectivec.codeschool.com/)
Objective C é a linguagem xuxuzinho da apple. Com ela você pode desenvolver tantos apps pra OS X quanto pra iOS.
Ela é orientada a objetos, fortemente tipada, criada na crista do C e tem um runtime dinâmico que permite a gente fazer
algumas coisinhas bem legais
Além disso, o Objective-C conta com umas features muito bacanas, como por exemplo blocos (rubista pira!).
Declaração de variável
Quando vamos usar uma instância de uma classe, ou seja, um objeto, devemos criar uma variavel de ponteiro.
Quando vamos usar um tipo primitivo ou uma estrutura, não é necessário criar como ponteiro, o próprio objc já consegue
gerenciar sozinho.
Estamos chamando um Macro (NSLog), vou explicar o que é mais pra frente, mas é como se fosse uma função stand-alone.
Toda vez que você cria uma classe em objective C, você vai ter dois arquivos:
Header (.h)
Basicamente, é onde você define a estrutura da sua classe. Funciona exatamente como uma interface, define toda a estrutura
da sua classe dentro dele.
Toda classe deve herdar, ao menos, de NSObject. A notação <>, serve para definir os procols que a classe vai implementar (veremos sobre protocol
mais a frente).
Implementation (.m)
Como o nome diz, ele é que vai ter a implementação da estrutura que você definiu no arquivo de header.
Explicar os tipos de properties que podem ser criadas
Atomic - Você diz que a propriedade é Thread-Safe, ou seja, somente uma thread, por vez, tem controle desse objeto. (Não pode ser compartilhado)
NonAtomic - Exatamente o oposto do atomic, você declara que a propriedade não é thread safe e pode ser alterada e acessada por diferentes threads, por esse motivo ela vira simplesmente um get,set. Por causa disso, o acesso e uso de propriedades nonatomic é mais rápido.
Strong/Retain - Necessário quando o objeto é um ponteiro. O método de setter vai incrementar o contador de ponteiros, que vai liberar o espaço no pool de memória para armazenar o objeto. Só vai sair da memória se for explicitamente dealocado (hoje não mais com o ARC lol).
Weak - Vai manter o valor até que a instância da classe seja dealocada.
Link do Quora explicando direitinho um por um: http://www.quora.com/What-is-the-difference-between-strong-retain-nonatomic-etc-in-objective-C-iOS-property
A ideia é passar por cima dos conceitos do Dynamic Runtime mais legais, e como você faz pra tirar proveito disso ;).
Tipo ID
Tipo mais genérico do objective C, pode receber qualquer coisa (bloco, selector, objetos, etc). por exemplo, você pode ter um Array (NSArray)
com index de diferentes tipos (elimando coisas como template e Generics). Outro beneficio que o ID trás, por consequência, é melhora no tempo de build (porque afinal, você não precisa ficar verificando o tipo de um objeto ID).
Distributed Objects
O conceito é que basicamente, objetos podem conversar entre sí mesmo em diferentes contextos, threads e até mesmo “servers/apps”. O conceito é de se criar um proxy entre dois objeto e estabelecer uma conexão entre eles. Todas mensagens são interceptadas por esse proxy e ele distribui através de aplicações,servers,threads. Tudo vai depender de como você definir a conexão (assunto mais profundo, n cabe no escopo desse treinamento).
Setters e Getters dinâmicos
Toda propriedade criada em uma classe gera, automaticamente, métodos de set e get. Isso é feito através do sistema de selector, que consegue definer comportamentos, sem a necessidade de especificar isso na definição do tipo do Objeto.
Key-Value Observing
Resumidamente, KVO permite que um objeto observe alterações em outro objeto e seja notificado. Utilizando o método do NSOBject addObserver,
vc define qual propriedade deve mudar para que aja a notifcação, o objeto que será o Observer e qual selector (método) vai ser invocado quando o mesmo estiver
Mostrar código do DS
O CoreData é um ORM que faz a interface com o storage do device. Ese
MyPersistentDocument - A classe mapeada no CoreData, sua instância de um managed object
NSManagedObjectContext - Esse é o lugar que serve como gateway para os seus objetos persistidos no storage. Ele vai definir toda a
api de acesso e manutenção desses objetos.