quarta-feira, 10 de abril de 2013

Deep Web

Deep Web: a internet invisível!

Conhecida também como Deepnet, Web Invisível, Undernet ou Web Oculta, a Deep Web é um mistério que provavelmente poucas pessoas ouviram falar e é um desafio para a polícia de todo mundo!
Trata-se de um lado da internet que você não tem acesso, e que pode ser chamado de "internet invisível", já que nem todas as informações circulam puramente no protocolo HTTP da web. Ou seja, apenas o seu navegador de internet não é o suficiente para ver esses sites.
A idéia de se criar uma Deep Web surgiu de forma anônima na China. A proposta seria navegar em sites que o governo – através de seu provedor – bloqueia a entrada no país. Os desenvolvedores criaram um software de Proxy, batizado como TOR. O The Orion Router hoje é mantido por contribuições anônimas, programadores voluntários de diversos lugares do mundo, mas, a rede que inicialmente era base de auxílio para quebrar a ditadura imposta pelo governo chinês, tornou-se o objetivo de mentes criminosas, pois o anonimato sempre foi muito visado pelos desenvolvedores, pois quem burlasse o sistema chinês, poderia ser preso.
Diversos fóruns e sites de discussões foram criados pelos usuários chineses para que pudessem interagir entre eles dentro de redes como o TOR, porém com o passar do tempo é que esta rede criou um aspecto mais negro, surgindo fóruns, sites de compartilhamento e portais dos mais diversos assuntos como pedofilia, assassinatos, satanismo, sequestro, tráfego humano, drogas entorpecentes e muito mais. Destes crimes, pouco mais de 31% que a polícia internacional (INTERPOL) sabe dizer que foram obtidos com sucesso para encontrar criminosos e, até os hacker Anonymous ajudaram a prender um dos maiores sites de pedofilia da rede TOR.
Um exemplo é o site Silk Road, descoberto na metade de 2011. O site vendia drogas de todo tipo para vários lugares do mundo. O endereço do site era ianxz6zefk72ulzz.onion e só podia ser acessado usando o TOR (por isso o final ".onion"). O site usava o sistema de pagamento BitCoin, um tipo de moeda criptográfica.


Protocolos e programas:
Além do TOR, existe ainda a Freenet e softwares de compartilhamento de arquivos como o Share e o Perfect Dark, desenvolvidos no Japão com o intuito de dar a seus usuários anonimato durante troca de dados.

Mecanismos de pesquisa:
Os mecanismos de pesquisa não tem em seus bancos de dados todas as páginas de internet. Pelo menos 1/3 da web, dizem alguns, não é pesquisada quando você procura algo no Google, por exemplo.
Mesmo com diversos mecanismos de pesquisa, não é possível encontrar tudo. Então foi criado o site Searchlores para "ensinar" o uso de recursos de pesquisas disponíveis.

Esses fatores, que vão das limitações tecnológicas dos mecanismos de pesquisa aos conteúdos intencionalmente escondidos e protocolos de comunicação inacessíveis sem um sistema configurado corretamente, permitem que exista uma "internet" realmente invisível do ponto de vista da maioria.

Eu devo conhecer a Deep Web?
É recomendável que você não faça isso, pois as consequências psicológicas são imprevisíveis! Há o risco de sua máquina ser invadida e uma simples e rápida passagem por lá pode ser consideravelmente fatal, em termos computacionais! Mas se resolver, saiba que muito do conteúdo mais extremo é inacessível para novos usuários e que para conhecer mais, o risco aumenta...
  
Fontes:
Segurança Digital. Disponível em:
Isso é Bizarro. Disponível em:
Deep Web e o lado obscuro do ser humano. Disponível em:

terça-feira, 2 de abril de 2013

Modelos de componentes


Introdução
Um modelo de componente define novos recursos e serviços que permitem aos desenvolvedores de aplicação implementar, gerenciar, configurar e implantar componentes de forma padronizada, facilitando a reutilização e a manutenção do sistema.
Criada pelo Object Management Group (OMG), o modelo CORBA estabelece e simplifica a troca de dados entre sistemas distribuídos. Propõe a comunicação local e/ou remota entre aplicações que têm como base a tecnologia orientada a objetos. Entretanto, a especificação de CORBA não atende bem a determinados pontos tais como: Padrão para implantação, estender funcionalidades de objetos CORBA, definição de serviços, entre outros, levando a OMG a adotar o CORBA Component Model (CCM) como parte da especificação de CORBA 3.0.
O CCM é uma extensão do modelo de objetos CORBA criado para tratar os problemas citados a cima e que foram deixados em aberto por esta arquitetura.
O modelo descreve como um componente é constituído, como armazena suas propriedades internas (atributos) e como se comunica com outros componentes (portas). Os componentes criados usando o padrão CCM podem ser instalados em servidores de diversos fornecedores (que respeitam a especificação CCM).
OMG – Padronização
O Object Management Group (OMG) é um consórcio internacional da indústria de software fundado em maio de 1989 com o propósito de criar padrões para possibilitar a interoperabilidade e portabilidade das aplicações distribuídas utilizando a tecnologia de objetos.
A organização desenvolve padrões de integração de uma grande variedade de tecnologias, incluindo padrões de middleware e perfis, são baseados na arquitetura de agente de solicitação de objeto (CORBA) e suporta uma grande variedade de indústrias.
Os trabalhos de padronização do OMG são executados sobre um modelo conceitual denominado core object model e uma arquitetura geral de referência denominada Object Management Architecture (OMA) que busca definir de forma abstrata as várias funcionalidades necessárias a computação distribuída, onde cada componente de software é representado como um objeto.
O OMG não tem como propósito a produção de software, somente especificações, criadas a partir de ideias e tecnologias propostas e discutidas pelas organizações membro envolvidas com a computação distribuída.
Dentre os muitos membros podemos destacar as grandes industrias tais como Dell, Ericsson, Microsoft, IBM, HP e Apple.
Origem CCM – Modelo Corba
CORBA é uma tentativa de cooperação da indústria de computação coordenada pelo OMG no sentido de desenvolver um padrão aberto para possibilitar computação distribuída entre ambientes de aplicação. A inovação do modelo foi a orientação a objeto e sua independência em relação a protocolo, sistema operacional, linguagem de programação de plataforma de hardware.
Para utilizar o modelo, exige-se apenas que a aplicação, escrita de qualquer linguagem, instalada em qualquer lugar da rede, mapeie sua interface para IDL (Interface Definition Language), que se trata da linguagem neutra do padrão, desenhada para a disponibilização e acesso a serviços (métodos e funções) de objetos remotos CORBA.
A arquitetura CORBA possui duas partes de destaque: A IDL – que é empregada para estabelecer contratos, limitando a interação das aplicações e estabelecendo as interfaces com os clientes, constituindo-se uma linguagem neutra, dispõe de mecanismos para que as interfaces dos componentes de aplicações distribuídas possam especificar herança de classes, eventos, atributos e exceções em padrão compatível com a base ORB. E sua outra parte ORB – que funciona como uma ponte, disponibilizando a infra-estrutura de comunicação para enviar e receber solicitações e respostas dos clientes para os servidores.
CORBA permite a implementação em linguagens de programação bastante difundidas atualmente como "C", "C++" e Java.
Estrutura CCM
A estrutura de componente CCM possuí quatro tipo de portas, que são os pontos de comunicação dos componentes.
  • Facetas - interfaces fornecida pelo componente;
  • Receptáculos - referências para outros objetos com os quais o componente interage;
  • Emissores de evento - utilizadas para produzir eventos;
  • Receptores de eventos - utilizadas para consumir eventos.
Eventos - Estabelecem uma comunicação entre componentes.
Completando a estrutura verifica-se a existência de cinco tipos de categorias:
  • Serviço (Service) - Componente limitado a duração de execução do método. São usados para chamar métodos como consultas ou execução de código;
  • Sessão (Session) - Disponível durante toda a existência de uma chamada, ou seja, ele fica aberto de forma independente para cada cliente, armazenando as informação enquanto o cliente estiver executando funções. São usados para operações do tipo iterador, ou quando o resultado de uma operação chamada for pré-requisito para o acionamento da próxima operação;
  • Processo (Process) - Componentes persistentes usados para representar, no servidor, processos de negócio em lugar de representar tabelas de BD;
  • Entidade (Entity) - Continua no sistema, mesmo que o cliente que o chamou tenha o fechado, ou seja, podem ser obtidos posteriormente através de uma chave primária.São usados para realizar mapeamento, assim, cada instância representa na forma de objetos uma determina "tupla" de uma tabela.
  • Vazio (Empty) - Um componente vazio tem seu funcionamento customizado pelo desenvolvedor, através dos descritores de instalação e da implementação do executores.
A modelagem CCM é usada por clientes (usuários comuns) para realizar operações através de referência a uma instância, ou seja, podem navegar pelas interfaces dos componentes por intermédio defina em CORBA.Também é usada por desenvolvedores que configuram componentes.
Para que serve?
O modelo CCM estende o modelo de objetos de CORBA, definindo funcionalidades e serviços que permitem que o desenvolvedor implemente, gerencie, configure e implante componentes que integrem os serviços de CORBA, como segurança, transações, persistência e eventos em um ambiente padronizado.
Uma das principais contribuições do CCM é a padronização do processo de desenvolvimento de componentes, tratando alguns problemas deixados em aberto pela arquitetura CORBA. Esta padronização pode ser resumida como: O desenvolvedor de componentes define, em IDL, as interfaces que as implementações dos componentes irão suportar, como armazena suas propriedades internas (atributos), como se comunica com outros componentes (portas), implementar os componentes utilizando ferramentas disponibilizadas pelo fornecedor do CCM, empacotar o componente em uma DLL e implementar o componente por mecanismo desenvolvido pelo fornecedor do CCM.
Os componentes são armazenados num pacote contendo sua implementação e a descrição de suas características, permitindo que o executor tenha acesso às conexões em suas portas, assim como utilizar serviços de objetos da arquitetura. Esse pacote é então utilizado para implantar o componente num servidor de componentes, onde esse pode ser então utilizado por clientes.
Estes componentes são desenvolvidos para executar uma atividade específica combinada para compor aplicações. O componente encapsula, dentro de si, seu projeto e implementação, e oferece serviços, por meio de interfaces para o meio externo. Em geral são desenvolvidos usando os métodos, técnicas, linguagens e ferramentas tradicionais, podendo ser facilmente utilizados e reutilizados em outras aplicações ou fornecidos por terceiros.
Com utilização destes componentes, além de diminuir o tempo para o desenvolvimento do software, a confiabilidade também é melhorada, pois os componentes são testados individualmente.
Outra vantagem do uso de componentes é a manutenção do software, pois os componentes podem ser substituídos e atualizados independentemente do restante da aplicação, e esta atualização é feita pelo fornecedor do componente.


Conclusão
Um modelo de componente define a forma como os componentes são vistos, aspectos da estrutura interna, mecanismo usado para a comunicação entre os componentes, o processo de desenvolvimento, de distribuição e de implementação.
Os componentes desenvolvidos a partir do modelo fornecem serviços a terceiros através de suas interfaces contribuindo para que o tempo de desenvolvimento seja diminuído, devido a reutilização dos códigos, e que a confiabilidade e facilidade na manutenção do software sejam melhorados.


Referências
PUC, Componentes de software, São Paulo, Disponível em <http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0210477_04_cap_02.pdf> Acesso em 16 mar. 2013.
BARBOSA, Nadia Milena, UFCG, O que é CCM?, Paraíba, Disponível em <http://www.dsc.ufcg.edu.br/ ~wdcopin/VWDCOPIN/artigos/nadia/WDCOPIN_nadia.pdf> Acesso em 16 mar. 2013.
NARDI, Ricardo Alexandre, UFPE . Pernambueco, Disponícel em <http://www.cin.ufpe.br/~cagf/sdgrad/aulas/CCM.pdf> Acesso em 16 mar. 2013.

terça-feira, 19 de março de 2013

Arquitetura em 3 Camadas

Válquíria Akemi, Cristiane Pereira, Thamires S. Guimarães

Arquitetura 3 camadas é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si. Essa arquitetura fornece uma maneira de dividir as funcionalidades envolvidas na manutenção e apresentação de uma aplicação. Foi desenvolvida com objetivo de mapear as tarefas de entrada, processamento e saída para o modelo de interação com o usuário, assim sendo mais fácil mapear os conceitos no domínio de aplicações.
As camadas são:
  • Camada de Apresentação: tem como função exibir as informações. Usada para receber as entradas e apresentar o resultado, ou seja, é a interface com o usuário.
  • Camada de Regra de Negócio: responsável por controlar todo o fluxo de informação. Intermediária entre a camada de apresentação e acesso a dados. Nesta camada é executada a regra de negócio (inteligência do sistema).
  • Camada de Acesso a Dados: é responsável pela persistência e acesso aos dados da aplicação.
Vantagens e Desvantagens
Como qualquer arquitetura, possui vantagens e desvantagens, são elas:
Vantagens:
  • Facilita o reaproveitamento de código.
  • Facilita a manutenção e adição de recursos.
  • Maior integração da equipe e/ou divisão de tarefas.
  • Facilita em manter o seu código sempre limpo.
  • É possível ter desenvolvimento em paralelo para o modelo, visualizador e controle, pois não são dependentes.
 
Desvantagens:
  • Requer tempo para analisar e modelar o sistema.
  • Requer pessoas especializadas.
  • Não é aconselhável para pequenas aplicações.
Uso de Aplicações em Camadas no segmento Varejo
A seguir, faremos os comentários da divisão em camadas de um terminal PDV.
Definição PDV
  • Sistema computadorizado que registra vendas e trata de pagamentos.
  • Tipicamente usado em lojas de varejo e acoplado a um leitor de código de barra.
Divisão em Camadas
Camada Apresentação: são equipamentos de hardware que fazem interação com o usuário e onde são exibidas as informações, como exemplo: monitor LCD, teclado com visor, display cliente, leitor de código de barra, leitor CMC7, impressora fiscal (ECF), etc.
Camada Regra de Negócio: é a aplicação utilizada. O software onde são realizados os cadastros de formas de pagamentos e tipos de vendas, configurações de parâmetros, emissão de relatórios de vendas, validação do produto após a leitura do código de barra, cálculo da quantidade de itens vendidos e totais de venda.
Camada de Acesso a Dados: quando é feita a validação do cadastro do produto, os dados são enviados para esta camada. A aplicação acessa as tabelas necessárias do banco de dados para verificar se o item é existente.
O item presente em todas as camadas da divisão do PDV é a impressora fiscal, pois realiza a impressão do cupom fiscal e faz interação com o usuário (Camada Apresentação). Quando calcula os itens da venda, realiza processos como leitura X, redução Z, e etc. utiliza um software interno (Camada de Negócios), e ao armazenar todas as transações da venda em seu banco de dados eletrônico (dados são gravados na memória da fita detalhe) faz o uso da 3ª camada: persistência e acesso a dados.

 

Using Blend to Design HTML5 Windows 8 Application (Part I): Overview and Hello World - Dr. Doris Chen's Blog - Site Home - MSDN Blogs

Using Blend to Design HTML5 Windows 8 Application (Part I): Overview and Hello World - Dr. Doris Chen's Blog - Site Home - MSDN Blogs

Tecnologias de interface de usuário para WEB

Gabriela Pellegrini Morasco, Jonathan da Silva e Matheus Nani

Interface
A interface web para usuário, e não apenas para a web, é um item importante em qualquer projeto bem elaborado, tendo em vista que quem irá utilizar o seu sistema terá que se sentir à vontade para navegar entre as páginas e de forma rápida encontrar o que deseja.
O objetivo desse trabalho é explicar o que é uma interface e quais tecnologias atualmente estão sendo utilizadas para criá-las.
Afinal o que é uma interface?
É um conjunto de características que facilita a comunicação entre humanos e máquinas, na qual podem manusear certos dispositivos ou quase todos sem ter um nível alto de conhecimento sobre eles. A tecnologia de interfaces deve ser utilizada sempre que se deseje que o usuário tenha uma abstração maior, onde ele só deve saber o mínimo possível para realizar determinada tarefa, com rapidez, segurança e eficiência, e que ele se lembre de como foi feito sem muito esforço.
Vamos abordar aqui algumas tecnologias utilizadas na criação de interfaces amigáveis tais como: JQUERY /JQUERYUI, HTML/HTML5 e CSS.
  
JQUERY (Write less do More).
É uma biblioteca Javascript criada em 2006 por John Resing, um framework que fornece funções e códigos já prontos, habituais para a maioria dos programadores, facilitando o processo de desenvolvimento e permitindo que se realize uma programação mais rápida e livre de erros. Uma das vantagens é que ela é uma ferramenta gratuita e muito utilizada por sua facilidade de implementação. O framework JQUERY também se unificou ao HTML5 e pode ser utilizado em aplicações mobile http://jquerymobile.com/, que tem como objetivo fazer aplicativos e websites acessíveis por smartphones, tablets e dispositivos desktop.
Vantagens, por que utilizar JQUERY?
Qual a sua vantagem em relação aos outros? É importante mencionar que ele não é o único framework que realiza esse trabalho. Como é normal todo produto ou todo framework tem as suas vantagens e desvantagens, mas, falando em JQUERY, ele é um produto com uma aceitação na comunidade de desenvolvimento muito boa e uma penetração de mercado muito grande, o que o torna uma excelente opção. Outra vantagem de se utilizar Jquery é sua comunidade ativa, com boa documentação de como configurar e aplicar qualquer tipo de interação. http://api.jquery.com/, existem também diversos artigos e tutoriais na web http://learn.jquery.com/.
JQUERY UI (User Interface)
Jquery UI é uma biblioteca que foi criada em 2007 por John Resing. Esta biblioteca utiliza recursos disponíveis na Jquery para abstrair códigos que tomam tempo, como a criação de animações, efeitos avançados e temas customizados. Na biblioteca Jquery UI tudo isso está pronto, basta configurar sua aplicação. Existem também vários plug-ins que ajudam na implementação de validações e máscaras http://plugins.jquery.com/.
Uma coisa que chama atenção ao utilizar essa plataforma é a redução drástica de código. Segue um exemplo básico de como pegar um elemento DOM através do ID.
Javascript tradicional:
• document.getElementById("ID");
Com Jquery:
• $("#ID");
Jquery trabalha com uma linguagem própria e bem reduzida.
Compatibilidade
Jquery/JqueryUI atualmente com compatíveis com diversos navegadores:
• Internet Explorer
• Chrome
• Firefox
• Safari
• Opera
As incompatibilidades podem ocorrer quando o usuário utilizar um navegador desatualizado ou que não execute Javascript. A jquery não é testada ativamente em navegadores de versões antigas e normalmente os bugs não são corrigidos nestas versões.
Como usar?
Primeiramente, para utilizar a biblioteca Jquery, você deve baixá-la no site http://jquery.com/. Caso você queira baixar uma biblioteca gráfica JQUERYUI, neste mesmo site existe uma opção de customizar seu tema e baixá-lo http://jqueryui.com/themeroller/. Feito isso é só adicionar o arquivo JQUERY a seu projeto.
Segurança
Jquery é JavaScript puro com isso torna as mesmas "fraquezas" iguais. O Jquery executa do lado do cliente, e por isso muitos programadores maliciosos criam scripts para rodar em um cliente da web. Os navegadores são criados para tentar evitar esse tipo de ataque de duas maneiras: os scripts só podem executar ações relacionadas à internet, e não podem criar arquivos; Scripts só podem acessar cookies e informações enviadas de outros sites.
  
Adobe Flex
Antes chamada de Macromedia Flex e depois rebatizado como Adobe Flex pela Adobe, lançada em março de 2004 pela Macromedia que suporta o desenvolvimento de aplicações ricas para a internet.
Ajuda no desenvolvimento de aplicações feitas em flash e oferece ao usuário uma experiência muito mais robusta, proporcionando ao usuario facilidade e interatividade em tempo real.
Adoble Flex é um framework multi-plataforma para desenvolvimento de aplicações RIA ou Aplicações Ricas para internet uma aplicação web com caracteristicas e funcionalidades de uma aplicação desktop, e que transfere parte do precessamento para o navegador do usuario, porem mantem o precesso mais pesado no servidor da aplicação.
Flex é uma estrutura de código aberto altamente produtiva para a criação de aplicações web, Que pode executar RIAS nos navegadores usando Flash Player, maquinas virtuais ou no Desktop utilizando Adobe AIR.
Vantagens
• Fácil acesso a serviços externos(webServices)
• Linguagem Orientada a Objetos.
• Integração com diversas linguagens cliente-servidor;
• Vasta documentação
• Design amigavel e de simples utilização;
• Plugins gratuidos.
Desvantagens
• Suporte apenas para ActionScript;
Linguagens utilizadas
MXML – linguagem de marcação baseada no XML
ActionScript – Linguagem de programação orientada à objetos
Desconhecida pela maioria dos programadores
Ferramentas de geração de ralatorios/gráficos são pagas
Limitação de programação (falta suporte para VB, C++ e Python)
HTML
Em termos simples, o HTML usa tags para estruturar as informações de um site. O HTML5, por sua vez, é uma tentativa de padronizar a maneira como os navegadores interpretam as informações recebidas – cada um as interpreta de maneira distinta, o que pode resultar em distorções na visualização.
HTML5
Em resumo, para os desenvolvedores, o HTML5 deixa algumas tarefas mais simples e oferece outras maneiras de fazer as mesmas coisas. Já para os usuários, a mudança será percebida, principalmente, ao usar celulares – ou outros portáteis – para acessar a internet. Isso porque não haveria a necessidade de instalar plugins (algo nem sempre possível nos navegadores para celular) para visualizar aquilo feito com HTML5.
Há cerca de um ano, durante o Mobile World Congress, em Barcelona, 30 empresas se uniram num grupo de trabalho para impulsionar o uso do HTML5 em smartphones e tablets. Fazem parte deste grupo, conhecido como COREMOB (de Core Mobile Web Platform CommunityGroup), nomes como Facebook, Samsung, Microsoft, Nokia, Sony, AT&T, Telefônica e Intel. Ele é parte do W3C, a organização que define os padrões oficiais da internet.
O COREMOB é apenas uma das iniciativas que devem acelerar a adoção dessa tecnologia, tanto na internet como em aparelhos como smartphones, tablets, televisores inteligentes, PCs e até automóveis.
Veja sete razões por que esse conjunto de padrões para a criação de aplicativos e sites tende a se tornar onipresente nos próximos anos.
  1. Apps universais - O HTML5 permite criar aplicativos quase universais, capazes de rodar numa variedade grande variedade de dispositivos, como smartphones, tablets, PCs, televisores, etc.
  2. O melhor de dois mundos - Aplicativos em HTML5 têm as vantagens de serviços na internet, como o acesso em qualquer aparelho conectado. Mas têm, também, características dos programas nativos, feitos para equipamentos específicos. Podem exibir vídeo, música e animações, além de interagir com o usuário. E podem armazenar dados no próprio aparelho, para que fiquem disponíveis mesmo quando não há acesso à internet.
  3. Browsers - O HTML5 vem sendo desenvolvido desde 2004, quando a Mozilla e a Opera Software apresentaram uma primeira proposta para esse padrão, e já foi implementado nos principais browsers.
  4. Smartphones - em 2011, havia 336 milhões de dispositivos móveis com suporte a HTML5 no mundo. Em 2013, o número deve passar de 1 bilhão. E a tendência é que ele seja adotado inclusive em aparelhos mais baratos.
  5. Grandes empresas - Muitas companhias importantes participam do grupo de trabalho que define o HTML5 no World Wide Web Consortium (W3C). A lista inclui fabricantes como Samsung, LG e Apple.
  6. Facebook - O Facebook vem estimulando o uso do HTML5 para desenvolvimento de aplicativos e jogos na rede social. Assim, os apps se tornam compatíveis com múltiplas plataformas.
  7. Casos de sucesso - A criação de aplicativos para tablets e smartphones em HTML5 tem trazido bons resultados para algumas empresas. Um exemplo é o jornal londrino Financial Times, que oferece um app desse tipo para o iPad. Foi a maneira encontrada por ele para vender seu conteúdo diretamente ao usuário, sem passar pela AppStore, da Apple.
  
Cascading Style Sheets (CSS)
CSS é uma linguagem de estilo, que descreve o modo de como os documentos são apresentados, seu principal objetivo e separa o formato e o conteúdo de um documento. Nele coloca-se a formatação separada do conteúdo e cria-se um link (ligação) entre a página de estilo, ou seja, para alterar a formatação de todas as páginas basta alterar a página de CSS.
Uma folha de estilo consiste uma lista de regras. Cada regra ou conjunto de regras consiste de um ou mais seletores.
Seletores são usados para detalhar quais elementos de marcação um estilo se aplica.
Navegadores Compatíveis
2008-11-25 A Google disponibilizou navegador web Chrome.
2008-07-01 A Apple lançou a versão 3 do navegador web Safari. Este é baseado na biblioteca de HTML/CSS de código aberto «WebKit» (por sua vez, derivada de KHTML). (Mac OS X, Windows, iPhone; gratuito)
2006-11-24 A Microsoft lançou a versão 7 do navegador web Internet Explorer, com suporte de CSS 2, PNG transparente e muito mais. (Windows; gratuito)
2001-11-07 A Adobe concebeu um plugin SVG para navegadores em Mac e Windows e para o Mozilla 0.9.1 em Linux e Solaris. Suporta SVG com estilização em CSS
  
Especificações
As CSS apresentam vários níveis, os navegadores representam 1,2 e 3, os outros são PDA, telemóvel, televisor, impressora, sintetizador de voz, etc.
O CSS nível 3 encontra-se em desenvolvimento. Inclui todo o nível 2 e acrescenta novos seletores, limites e fundos aperfeiçoados, texto vertical, interação com o utilizador, voz e muito mais.
O CSS nível 2 revisão 1 («CSS 2.1») contém todo o CSS nível 1 e acrescenta elementos completamente posicionados, numeração automática, quebras de página e texto da direita para a esquerda, entre outros.
O CSS nível 1 (1996, 1999) contém propriedades para tipos de letra, margens, cores, etc. de que praticamente todos os perfis de CSS necessitam. O CSS Mobile Profile 1.0 destina-se a dispositivos como telemóveis e PDA.
O CSS Print Profile é ainda um projecto. Destina-se a impressoras económicas.
O CSS TV Profile 1.0 destina-se a navegadores que funcionam em televisores.
Outras especificações relativas a CSS:
A SVG contém as propriedades de CSS para a estilização de gráficos vectoriais. Accessibility Features of CSS é uma Nota sobre o modo como as CSS podem tornar os documentos mais acessíveis. Traduções de CSS nível 1 e traduções de CSS nível 2.


Nossos slides: