Programação Android com Kotlin. Introdução a Kotlin. Othon Marcelo Nunes Batista Mestre em Informática

Documentos relacionados
Informática Parte 15 Prof. Márcio Hunecke

Conhecendo features de uma linguagem moderna

Migrando do para o. um e-book produzido por: CodePrestige

SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante

Grails. Desenvolvimento Java Açucarado

Java FX. Grupo: Alexandre Henrique Marcelo Scheidt Rafael M. Motta Ricardo C. Knoll

Primeiros Passos para o Desenvolvimento de Aplicações Móveis na Plataforma Android. Odette Mestrinho Christian Reis 1

Programação Orientada a Objetos

Ficha Informativa n.º 2. Variavéis, tipos de dados e constantes em PHP

GROOVY. Diogo Eládio Igor

Linguagens e Técnicas de Programação III Aula 01 Introdução ao Android

Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda

Linguagens de Programação Scala. Gabriel Favalessa Gustavo Andrade

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Aspectos para Construção de Aplicações Distribuídas

Linguagem de Programação II Implementação

Android e Bancos de Dados

Primeira Prova de Linguagens de Programação - DCC024 - Sistemas de Informação

Estruturas de dados funcionais

PROGRAMAÇÃO E PYTHON. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

[Desenvolvimento OO com Java] O que é Java?

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

Introdução à Programação para Dispositivos Móveis

[Desenvolvimento OO com Java] O que é Java?

Classes e Objetos. Sintaxe de classe em Java

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Paradigmas de Linguagens

Android e Bancos de Dados

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

Noções de sistemas de computação

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Programação Orientada a Objetos

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Tutorial C# - Nova temporada

PRDS C#.Net Alexandre L. Silva

Popularidade das Linguagens

Fundamentos de Programação

JAVA. Professor: Bruno Toledo

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula

Linguagem de Programação Visual

Pseudolinguagem. BC0501 Linguagens de Programação t2 Aula 11. Prof. Alysson Ferrari ufabc.edu.br

Introdução à linguagem C

Reinaldo Gomes Análise/projeto estruturado

INTEGRADO º - CONHECIMENTO PRÉVIO

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Conceitos de Linguagem de Programação - 2

Primeira Prova de Linguagens de Programação - DCC024B -

Módulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Computação II Orientação a Objetos

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Linguagem de programação métodos/funções

Aula 10 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

PROGRAMAÇÃO EM AMBIENTE WEB I

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

Algoritmos I Aula 13 Linguagem de Programação Java

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Introdução à Programação para Dispositivos Móveis

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Linguagens de Programação

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Desenvolvimento OO com Java Um pouco de vetores

Desenvolvimento OO com Java O que é Java

Dmitry Jemerov e Svetlana Isakova. Novatec

Carlos Eduardo Batista. Centro de Informática - UFPB

Linguagem de Programação I. Aula 11 Strings

Compiladores Análise Semântica

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação

Programação orientada a objetos

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Curso 500 Desenvolvimento

Strings e Arrays POO

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Academia Java IP JAVA: Introdução à Programação em Java (30 horas)

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Linguagem de Programação III

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Paradigmas de Linguagem de Programação

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Paradigmas de Linguagem de Programação. Linguagens de Programação Análise histórica e atual

Histórico. Origens da linguagem

Desenvolvimento Web. JavaScript aula IV Funções. Professor: Bruno E. G. Gomes

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Gradle para Geração de Multi-Aplicativos Móveis: Um Estudo de Caso em uma Universidade

Programação Orientada a Objetos. Conceitos Básicos

Nosso Primeiro Programa Java

Transcrição:

Programação Android com Kotlin Introdução a Kotlin Othon Marcelo Nunes Batista Mestre em Informática

Roteiro Introdução Características Ferramentas Adoções Links Perguntas?

Introdução Kotlin é uma linguagem de programação lançada em 2011 pelo pessoal da JetBrains que gera bytecodes e Javascript. A mesma empresa responsável pelo IntelliJ IDEA, base do Android Studio.

Introdução Kotlin foi influenciada pelas linguagens de programação: Java - www.oracle.com/java Scala - www.scala-lang.org Groovy - grrovy-lang.org C# - docs.microsoft.com/dotnet/csharp/languagereference/ Gosu - gosu-lang.org JavaScript - developer.mozilla.org/en- US/docs/Web/JavaScript Swift - swift.org

Introdução Um dos objetivos da JetBrains é aumentar as vendas do IntelliJ IDEA. A versão 1.0 do Kotlin em 15 de Fevereiro de 2016. Em 16 e 17 de Maio de 2017, na Conferência Google I/O, Kotlin foi anunciada como a linguagem oficial para Android.

Introdução O chefe de desenvovimento Andrey Breslav disse que Kotlin é projetada para ser: uma linguagem orientada a objetos com poder industrial; melhor que Java; interoperável com Java O objetivo é garantir uma migração gradual de Java a Kotlin.

Características As declarações de variáveis e listas de parâmetros tem o tipo de dados depois do nome da variável, separado por dois-pontos, parecido com Pascal. No caso de variáveis o tipo é opcional! var linguagem = "Português" var numero : Int fun somainteiros (a : Int, b: Int) : Int { return a + b }

Características Kotlin pode ser usado como uma linguagem orientada a objetos ou como uma linguagem estruturada. OO com classes, métodos e variáveis de instância; Estruturada com o uso de funções. O ponto de entrada de um programa em Kotlin é a função main: fun main (args : Array <String>) { // Código aqui!!! }

Características Kotlin suporta: inferência de tipo; interpolação de string como em Perl ou script de shell do Linux/Unix. fun main (args : Array <String>) { val meunome = "Othon" Inferência de de tipo: tipo: val val meunome :: String = "Othon" } println ("Olá $meunome!") Interpolação de string: "$meunome"

Características Kotlin fornece operadores para dar segurança aos tipos de dados que podem ser nulos:?. é o operador de navegação segura: pode ser utilizado para acessar de forma segura um método ou variável de instância de um objeto possivelmente nulo. Se o objeto for nulo, o método não é chamado e a expressão é avaliada para nula;?: é o operador nulo de aderência também chamado de operador de Elvis.

Características Exemplo do uso do operador de Elvis: fun main (args : Array <String>) { } digaola ("Othon") digaola(null) fun digaola(seunome: String?) { // uso do operador de Elvis val nome: String = seunome?: "estranho" } println("olá $nome!")

Características Exemplo do uso do operador de navegação segura: // retorna null se foo() retornar null, ou se foo() é não null, mas bar() retorna null, ou foo() e bar() são não null, mas baz() retorna null // vice-versa, o valor de retorno é não null se e só se foo(), bar() e baz() são não null foo()?.bar()?.baz()

Ferramentas IntelliJ IDEA Eclipse através de plugin fornecido pela Jet Brains Android Studio

Adoção Alguns dos principais produtos já utilizam Kotlin Pinterest introduziu Kotlin com sucesso em suas aplicações, usadas por 150 milhões de pessoas todo mês Gradle está introduzindo Kotlin como uma linguagem para escrever scripts de build. Evernote integrou Kotlin recentemente em seus clientes Android A equipe do Über usa Kotlin para construir ferramentas internas é uma plataforma de contabilidade de código aberto, suportada por grandes bancos, e está completamente em Kotlin O App Coursera para Android está parcialmente escrito em Kotlin Spring usa as características da linguagem Kotlin para oferecer API mais concisas Todo o novo código no Trello para Android está em Kotlin

Links Kotlin e Android https://developer.android.com/kotlin/index.html Kotlin no Android Oficialmente https://blog.jetbrains.com/kotlin/2017/05/kotlin-onandroid-now-official/ Por que JetBrains precisa de Kotlin https://blog.jetbrains.com/kotlin/2017/05/kotlin-onandroid-now-official/ Linguagem de Programação Kotlin http://kotlinlang.org/

Perguntas? Muito obrigado! Alguma pergunta???