Desenvolvendo para a Web
Tempo passa, o tempo voa e a Web continua numa boa!
24 de março de 2019
Bacharel em Ciência da Computação (UFBA)
Programadora desde 2005
Engenheira de Software
Projetos que tem o objetivo de incentivar a participação de mulheres da área de tecnologia da informação.
Califórnia/EUA
1970
~
ARPANET - base da Internet
Ajudar o compartilhamento de informações para objetivos militares nos EUA
1990
WWW - World Wide Web
HTTP - HyperText Transfer Protocol: Protocolo que permite pedidos e respostas entre cliente e servidor
Tim Berners-Lee
1991
HTML - HyperText Markup Language
- Coluna única
- Apenas texto e links
- O visitante era apenas um leitor, sem interação
1995
Tabelas
- Simula a organização de um jornal
- Mostra imagens e textos
- Múltiplas colunas
- Quadros
- Difícil de manter
1996
Javascript
- Interações
- Janelas popup
- Contador de visitas
~
1996
FlaSH
- Animações
- Sons
- Incorporação de vídeos
- Sites dinâmicos
- Tempo para carregar alto
- Proprietário
- 2007: Apple decide não dar suporte ao Flash
1996
CSS - Cascading Style Sheets
- Separa o conteúdo da apresentação
2004
Web 2.0? - "Web enquanto plataforma"
- Termo foi criado por Tim O´Reilly
- Ambiente mais dinâmico, com maior interatividade
- Usuário mais participativo
- Wikis, redes sociais: aplicativos que aproveitam os efeitos de rede
2007
Mobile
- Diferentes telas
- Muita utilização de dados para a visualização de páginas
- Utilização de Grid layout
- Versões do site específicas para mobile
2009
Node.js
- Programação orientada a evento
- Javascript no lado do servidor
2010
Design responsivo
- Diferentes layout para o mesmo conteúdo
2010
AngularJS
- Framework JS para interface de usuário
- Mantido pelo Google
2011
Bootstrap
- Framework Web para desenvolvimento de componentes de interface e front-end
- Código aberto
- Ajuda o desenvolvimento de um site responsivo
2013
ReactJS
- Framework JS para interface de usuário
- Mantido pelo Facebook
Ruby
- Linguagem criada por Yukihiro “Matz” Matsumoto em 1995
- União de várias linguagens (Perl, Smalltalk, Eiffel, Python, Ada e Lisp) para formar uma nova linguagem que equilibra a programação funcional com a programação imperativa.
- Tudo é objeto
Rails
- Criado em 2004
- Framework que ajudou a popularizar a linguagem Ruby
- Também conhecido como Ruby on Rails
- Coleção de bibliotecas escritas em Ruby
- Várias formas de fazer a mesma coisa
- Fácil de usar
- Faz o esperado
- DRY: don't repeat yourself
Felicidade do programador
- Facilita a vida de iniciantes
- Aumenta a produtividade
Convenção sobre configuração
has_many :people
- A melhor ferramenta para o trabalho
- Oferece um conjunto de ferramentas que serve para muitos casos
- Permite que o desenvolvedor personalize
Estilo Menu Omakase
"I'll leave it up to you"
- Não é um MVC puro
- Ideologicamente flexível
- Poliamor
Não é limitado a um paradigma
- Simples
Incentiva códigos bonitos
class Product < ActiveRecord::Base
belongs_to :store
has_many :buyers, class_name: 'Person'
validates_presence_of :name
end
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :name
t.text :description
t.timestamps
end
end
end
if people.include? person
…
if person.in? people
- Acredita que o programador sabe o que está fazendo
- Monkey patching
- Liberdade X Segurança
Fornece ferramentas poderosas
irb(main):001:0> puts "Hello".downcase
hello
irb(main):002:0> class String
irb(main):003:1> def downcase
irb(main):004:2> "Olá"
irb(main):005:2> end
irb(main):006:1> end
=> :downcase
irb(main):007:0> puts "Hello".downcase
Olá
- Fornece ferramentas de backend e frontend
- Permite entregar um sistema completo
Sistema integrado
- O framework precisa evoluir
- As atualizações da versão podem ser traumáticas
Progresso sobre estabilidade
- Diversidade de pensamentos e pessoas
- Mais de 3500 contribuidores
Comunidade grande
- Ruby em 30 minutos:
- https://ruby.github.io/TryRuby/
- Ruby warrior:
- https://www.bloc.io/ruby-warrior/#/
- Documentação oficial:
- https://guides.rubyonrails.org/getting_started.html
- Rails Girls:
- http://railsgirls.com/
Para aprender
Obrigada!! :)
danielafeitosa@gmail.com
Desenvolvendo para a Web
By danielafeitosa
Desenvolvendo para a Web
- 107