WinJS 4.0–Novidades e melhorias para Universal Apps e Cross-browser

JavaScript & WinJS

capaWinjs40

Dia 27 de março a Microsoft lançou a versão Preview do WinJS 4.0. Neste mesmo ano (2015), já havia sido anunciado o lançamento da versão 3.0 com uma série de novos recursos em relação ao seu antecessor. Agora, como veremos neste post, o ponto focal da versão 4.0 da Biblioteca JavaScript da Microsoft, é a compatibilidade com o Windows 10 e a melhoria nos recursos cross-browser.

WinJS é a biblioteca JavaScript e cross-platform da Mocrosoft, para a criação de aplicações com HTML, CSS e JavaScript.

A primeira versão do WinJS é de 2012, porém só em abril de 2014 durante o BUILD, que a versão 2.0 foi lançada, já como open-source sob a licença Apache 2.0.

A segunda atualização veio em setembro de 2014 com o anuncio do WinJS 3.0, cujo o foco foi na garantia da compatibilidade cross-browser da biblioteca.

O WinJS está sob a tutela do Windows Ecosystem & Frameworks Team, representado pela Program Manager Rachel Nizhnikova.

Sua primeira versão visou possibilitar a criação de Aplicações HTML para Windows 8. De lá para cá o foco foi concentrado na expansão do mercado de desenvolvimento, tornando o WinJS mais interoperável e abrangente, funcionando em conjunto com outras bibliotecas e suportando os principais navegadores.

No anuncio da versão 3.0, foi apontando que WinJS "trabalha" muito bem com as principais bibliotecas do mercado, como AngularJS e Knockout. Isso por que o WinJS foi projetado com uma arquitetura de camadas bem definidas, o que possibilita uma melhor interoperabilidade onde você pode usar apenas uma camada específica conforme sua necessidade.

Pensando no User Interface, a versão 3.0 já trouxe grandes melhorias nos chamados "controls universal across apps". Isso pensando na criação de controles com comportamentos consistentes nos smartphones, tablets, desktops e navegadores.

Vale notar que muito do que foi implementado na versão 4.0 é resultado direto do feedback da comunidade e das exigências atuais:

  • Universal Experiences - Hoje as pessoas querem aplicações que oferecem uma experiência completa, seja para phones, tablets, PCs ou TVs. Hoje você simplesmente conecta seu celular na TV e executa suas APPs. O WinJS tem de estar preparado para trabalhar com as várias resoluções de tela, bem como os métodos de entrada (mouse, touch, controle), a fim de personalizar a experiência do usuário;
  • Interoperability - Hoje fica implícito a utilização de vários frameworks JavaScript durante uma implementação. Sendo assim o WinJS deve estar pronto para trabalhar em conjunto com outros frameworks.

Com base nisso as principais novidades anunciadas na versão 4.0 foram:

  • Universal app controls: Controles adaptáveis a vários tamanhos de tela;
  • Angular interoperability: Wrapper do Angular no WinJS para melhorar a compatibilidade com o AngularJS, incluindo directives e data bindings; DEMO ANGULAR
  • ListView: O ListView no WinJS 4.0 simplifica opções de interação que foi uma demanda dos desenvolvedores. Também acrescenta uma variedade de novos recursos de utilização e funcionalidade, incluindo um modelo melhorado interação para cenários de seleção, demarcação e de carga progressiva;
  • WinJS SplitView: Um layout adaptável contendo um painel de navegação e área de conteúdo. Muito utilizado no famoso Hamburger Menu; DEMO SPLITVIEW 
  • WinJS Toolbar: Nova barra de ferramentas visando melhor interação com o conteúdo, tendo a inteligência de tratar a disposição dos controles conforme o tamanho de tela; DEMO TOOLBAR
  • Content Dialog: Adaptável ao tamanho da tela e a posição, hospeda diversos conteúdos. Também é possível a utilização da tecla TAB para navegar nas opções; DEMO CONTENT DIALOG 
  • XYFocus: Novo recurso que permite a navegação de elementos HTML de forma arbitrária, permitindo remapeamento dos elementos em um determinado aplicativo. Para quem está habituado com o HTML, estamos falando do famoso tabindex; DEMO
  • Pivot control: Atualização para navegação app pivô acrescenta melhorias visuais e novos cabeçalhos de adaptação junto com capacidades de toque expandidas.

 

Para uma visão mais detalhada dos novos recuros, indico as leituras no tópico de Referências.

 

Referências

<Bons estudos e até a próxima pessoal ;)


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


4 minutes to read