SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
Karoline Tavares
 
Aula 5 manipulacao de arquivos e pastas
Aula 5   manipulacao de arquivos e pastasAula 5   manipulacao de arquivos e pastas
Aula 5 manipulacao de arquivos e pastas
Alexandre Juliano da Silva
 
Disciplina de TIC: Importância da Avaliação diagnóstica
Disciplina de TIC: Importância da Avaliação diagnósticaDisciplina de TIC: Importância da Avaliação diagnóstica
Disciplina de TIC: Importância da Avaliação diagnóstica
Fernanda Ledesma
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
Ramon Ribeiro Rabello
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
Mauricio Carvalho
 
Building beautiful apps using google flutter
Building beautiful apps using google flutterBuilding beautiful apps using google flutter
Building beautiful apps using google flutter
Ahmed Abu Eldahab
 
Informática Básica
Informática BásicaInformática Básica
Informática Básica
Heraldo Gonçalves Lima Junior
 
Processador intel 4040
Processador intel 4040Processador intel 4040
Processador intel 4040
Elaine Cecília Gatto
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
Cloves da Rocha
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
Suzana Viana Mota
 
Flutter beyond hello world
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello world
Ahmed Abu Eldahab
 
Android
Android Android
Android
Fábio Eliseu
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
Daniel Moura
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
diogoa21
 
Equipamentos de Rede
Equipamentos de RedeEquipamentos de Rede
Equipamentos de Rede
Ana Julia F Alves Ferreira
 
Linux
LinuxLinux
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Charles Fortes
 
Apresentação desenvolvimento de Games
Apresentação desenvolvimento de GamesApresentação desenvolvimento de Games
Apresentação desenvolvimento de Games
Willian Celso Zarpellon
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
Daniel Brandão
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - Dicionários
Marcos Castro
 

Mais procurados (20)

Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Aula 5 manipulacao de arquivos e pastas
Aula 5   manipulacao de arquivos e pastasAula 5   manipulacao de arquivos e pastas
Aula 5 manipulacao de arquivos e pastas
 
Disciplina de TIC: Importância da Avaliação diagnóstica
Disciplina de TIC: Importância da Avaliação diagnósticaDisciplina de TIC: Importância da Avaliação diagnóstica
Disciplina de TIC: Importância da Avaliação diagnóstica
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
 
Building beautiful apps using google flutter
Building beautiful apps using google flutterBuilding beautiful apps using google flutter
Building beautiful apps using google flutter
 
Informática Básica
Informática BásicaInformática Básica
Informática Básica
 
Processador intel 4040
Processador intel 4040Processador intel 4040
Processador intel 4040
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
 
Flutter beyond hello world
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello world
 
Android
Android Android
Android
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Equipamentos de Rede
Equipamentos de RedeEquipamentos de Rede
Equipamentos de Rede
 
Linux
LinuxLinux
Linux
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Apresentação desenvolvimento de Games
Apresentação desenvolvimento de GamesApresentação desenvolvimento de Games
Apresentação desenvolvimento de Games
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - Dicionários
 

Semelhante 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 Dart
Roger 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 Dart
Roger Ritter
 
Django
DjangoDjango
Flutter - Erick Lima
Flutter - Erick LimaFlutter - Erick Lima
Flutter - Erick Lima
Erick 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 Side
GDGFoz
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
Elaine Cecília Gatto
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
Carlos 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 Controle
Adriano 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 Basic
Ricardo Guerra Freitas
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. Introdução
Marcos Bezerra
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
Igor 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 Detalhado
Regis Magalhães
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
Regis Magalhães
 
15. introducao ao c++
15. introducao ao c++15. introducao ao c++
15. introducao ao c++
Eugenio Caetano
 
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
Pablo Dall'Oglio
 
Csharp
CsharpCsharp
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
Ana Claudia Nogueira
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
Odair Sousa
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
Fernanda Ferreira
 

Semelhante 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 Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
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
 

Mais 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 WordPress
Giancarlo 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 rede
Giancarlo 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 verde
Giancarlo 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 Python
Giancarlo 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 2
Giancarlo 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 1
Giancarlo 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 Python
Giancarlo Silva
 

Mais 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
 

Último

Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 

Último (7)

Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 

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