SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Structured web apps – dartlang.org 
IFRN Natal/Central Disciplina de Paradigmas de Linguagens de Programação Giancarlo Silva - 200924040010
O que é a linguagem Dart? 
Por que o Google criou o Dart? 
Como é a linguagem Dart? 
Exemplos de Código 
Demonstração
Dart é uma linguagem de programação de script voltada para a web, criada com o objetivo de substituir a linguagem JavaScript; 
Desenvolvida pelo Google e anunciada em 2011 durante a GOTO Conference, em Aarhus/Dinamarca; 
Primeira versão estável foi lançada em novembro de 2013.
Até o momento nenhum dos navegadores disponíveis no mercado adota a linguagem Dart, rodando JavaScript como sempre; 
Atualmente existem 3 formas de rodar código Dart: 
◦Compilando para JavaScript; 
◦Dartium (navegador Chromium + DartVM); 
◦Máquina Virtual Dart VM (stand-alone).
Dart Editor é o editor oficial oferecido pelo Google para escrever aplicações web com a linguagem Dart 
Disponível em: dartlang.org
A intenção do Google é fornecer uma alternativa ao JavaScript que seja mais focada em performance, permitindo a criação de web apps mais rápidas, maiores e mais complexas; 
◦Maior desempenho – Linguagem nova, mais fácil de otimizar. Nova máquina virtual com uma inicialização mais rápida, entre outros benefícios; 
◦Melhor produtividade – Facilidade para reutilizar código, APIs mais fáceis de usar, facilidade para analizar, depurar e refatorar código.
Tudo que puder ser atribuído a uma variável é um objeto, até mesmo funções e o valor null; 
◦Todos os objetos herdam da classe Object 
A tipagem do Dart é dinâmica, mas opcionalmente é possível tornar a tipagem estática definindo um tipo a uma variável da forma tradicional: 
◦Variáveis sem tipo definido são do tipo dynamic.
Dart suporta funções top-level, como a função main(), por exemplo, bem como funções agregadas a uma classe (métodos static) ou objeto (métodos de instância); 
Dart permite criação de funções aninhadas (uma função dentro de outra); 
Dart não possui as palavras-chave public, private e protected. Para definir um identificador como privado, inicie-o com um underline (_);
Dart possui dois modos de tempo de execução: 
◦Production – Mais rápido; 
◦Checked – Próprio para desenvolvimento e depuração. 
Entre outras características.
Descobrir o enésimo número da sequência de Fibonacci
Exemplo de uma classe (Orientação a Objetos)
Rolagem de um dado de 6 lados
Seminário - Linguagem Dart: Structured web apps

Más contenido relacionado

La actualidad más candente

Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidJanynne Gomes
 
Power point 2010 intermediário - denis katko - oficial
Power point 2010   intermediário - denis katko - oficialPower point 2010   intermediário - denis katko - oficial
Power point 2010 intermediário - denis katko - oficialDenis Katko
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de softwareMarcio Costa
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Oficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de InteraçãoOficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de InteraçãoRodrigo Freese Gonzatto
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1Carlos Eugenio Torres
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosFabio Moura Pereira
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Pedro Edson Silva Barros
 

La actualidad más candente (20)

Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Power point 2010 intermediário - denis katko - oficial
Power point 2010   intermediário - denis katko - oficialPower point 2010   intermediário - denis katko - oficial
Power point 2010 intermediário - denis katko - oficial
 
Html Básico
Html BásicoHtml Básico
Html Básico
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Oficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de InteraçãoOficina de Introdução ao Design de Interação
Oficina de Introdução ao Design de Interação
 
Android
AndroidAndroid
Android
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 

Similar a Seminário - Linguagem Dart: Structured web apps

Desenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em DartDesenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em DartRoger Ritter
 
Desenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em DartDesenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em DartRoger Ritter
 
Flutter - Erick Lima
Flutter - Erick LimaFlutter - Erick Lima
Flutter - Erick LimaErick Farias
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideGDGFoz
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleAdriano Teixeira de Souza
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoMarcos Bezerra
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu códigoAna Claudia Nogueira
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 

Similar a Seminário - Linguagem Dart: Structured web apps (20)

Desenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em DartDesenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em Dart
 
Desenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em DartDesenvolvimento de aplicações web em Dart
Desenvolvimento de aplicações web em Dart
 
Django
DjangoDjango
Django
 
Flutter - Erick Lima
Flutter - Erick LimaFlutter - Erick Lima
Flutter - Erick Lima
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client Side
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de Controle
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. Introdução
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
15. introducao ao c++
15. introducao ao c++15. introducao ao c++
15. introducao ao c++
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Csharp
CsharpCsharp
Csharp
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 

Más de Giancarlo Silva

[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPressGiancarlo Silva
 
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...Giancarlo Silva
 
Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)Giancarlo Silva
 
Seminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da redeSeminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da redeGiancarlo Silva
 
Seminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verdeSeminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verdeGiancarlo Silva
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2Giancarlo Silva
 
WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1Giancarlo Silva
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 

Más de Giancarlo Silva (9)

[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
 
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
 
Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)
 
Seminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da redeSeminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da rede
 
Seminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verdeSeminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verde
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2
 
WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 

Seminário - Linguagem Dart: Structured web apps

  • 1. Structured web apps – dartlang.org IFRN Natal/Central Disciplina de Paradigmas de Linguagens de Programação Giancarlo Silva - 200924040010
  • 2. O que é a linguagem Dart? Por que o Google criou o Dart? Como é a linguagem Dart? Exemplos de Código Demonstração
  • 3. Dart é uma linguagem de programação de script voltada para a web, criada com o objetivo de substituir a linguagem JavaScript; Desenvolvida pelo Google e anunciada em 2011 durante a GOTO Conference, em Aarhus/Dinamarca; Primeira versão estável foi lançada em novembro de 2013.
  • 4. Até o momento nenhum dos navegadores disponíveis no mercado adota a linguagem Dart, rodando JavaScript como sempre; Atualmente existem 3 formas de rodar código Dart: ◦Compilando para JavaScript; ◦Dartium (navegador Chromium + DartVM); ◦Máquina Virtual Dart VM (stand-alone).
  • 5. Dart Editor é o editor oficial oferecido pelo Google para escrever aplicações web com a linguagem Dart Disponível em: dartlang.org
  • 6. A intenção do Google é fornecer uma alternativa ao JavaScript que seja mais focada em performance, permitindo a criação de web apps mais rápidas, maiores e mais complexas; ◦Maior desempenho – Linguagem nova, mais fácil de otimizar. Nova máquina virtual com uma inicialização mais rápida, entre outros benefícios; ◦Melhor produtividade – Facilidade para reutilizar código, APIs mais fáceis de usar, facilidade para analizar, depurar e refatorar código.
  • 7. Tudo que puder ser atribuído a uma variável é um objeto, até mesmo funções e o valor null; ◦Todos os objetos herdam da classe Object A tipagem do Dart é dinâmica, mas opcionalmente é possível tornar a tipagem estática definindo um tipo a uma variável da forma tradicional: ◦Variáveis sem tipo definido são do tipo dynamic.
  • 8. Dart suporta funções top-level, como a função main(), por exemplo, bem como funções agregadas a uma classe (métodos static) ou objeto (métodos de instância); Dart permite criação de funções aninhadas (uma função dentro de outra); Dart não possui as palavras-chave public, private e protected. Para definir um identificador como privado, inicie-o com um underline (_);
  • 9. Dart possui dois modos de tempo de execução: ◦Production – Mais rápido; ◦Checked – Próprio para desenvolvimento e depuração. Entre outras características.
  • 10. Descobrir o enésimo número da sequência de Fibonacci
  • 11. Exemplo de uma classe (Orientação a Objetos)
  • 12. Rolagem de um dado de 6 lados