📜 ⬆️ ⬇️

5 APIs that will change the web in 2013

It is incredibly exciting - to observe the evolution of the Web, and 2013 will bring us a lot in store. On the way, a number of technologies that have the potential during 2013 radically change our ways of using and developing the Web.

Custom CSS Filters



CSS filters are already available in Chrome and Safari, and allow advanced style settings , such as blur, curvature, and color intensity modification. However, this is only the beginning. Customizable CSS filters allow you to describe your own vertex and pixel shaders in GLSL , a language that has been an integral part of traditional 3D rendering for 10 years or so.
')
In practice, this means that you can create incredible effects. By combining filters with CSS transitions, you can make beautiful transformations, from curl on a page to folding elements . The limit is only your imagination!

So when can you use them? Adobe has become an innovator of this technology and Custom Filters are already available in Chrome. Expected to see them in Chrome early next year. At the moment, you can play with them in Canary.

Autocomplete API



This API has the potential to radically change registrations and payments online. Autocomplete is designed to simplify filling out forms, and even now there is a specification for hints with which data type fields in the form are associated.

However, autofilling is only a cure for the symptoms, and not a disease at all. Earlier in June, I was proposing a software API for extracting autofill data from browser storage. In practice, this means that we can fill out most forms, and make payments in one click, significantly increasing usability and conversion.

The Chrome team worked on this idea, and in October a proposal and a patch for the WebKit engine was submitted . It is incredibly exciting and, in combination with Mozilla Persona , can revolutionize the implementation of registrations and payments via the Internet.

So when can you expect to see it in the public domain? Well, while backstage work has been done, Chrome still needs to implement an integration interface for this. I think this will be seen at the end of 2013.

Google Chrome apps



What if I tell you that Google sneaked into your operating system through all your devices, including your laptop and mobile phone. Instead of competing with Microsoft and Apple by developing its own OS, Google decides to build its platform on top of existing operating systems. This platform is called Chrome.

So the first step was the spread, through which more than 350 million Chrome users were reached. The second step was the extension of Chrome's APIs, which allowed developers to gain more access to operating systems and replace the need for regular desktop applications.

A few months ago, Google quietly announced the release of Chrome Packaged Apps (installable applications), which allow developers to make desktop programs using the Chrome engine. They can be installed with a single click through the Chrome Web Store, with access to system APIs such as USB, Bluetooth and UDP Sockets, and can be launched via desktop icons. These applications are fully cross-platform, autonomous, and seem natively understandable to inexperienced eyes. In any case, these hybrids combine the best of desktop and Web applications.

So what's the catch? Well, Chrome Apps are not ready for active use right now, and the API is still under development. For example, creating a custom drag panel is still a challenge. I would give them a few more months to complete the products.

ECMAScript 6



ECMAScript 6 (ES6), the next version of JavaScript, is one of the exciting new additions that fix ugly places in the language as well as provides new features, such as default parameters and a new structure.

Classes are also on the agenda, along with full inheritance. Instead of imitating CommonJS or AMD modules, ES6 makes them paramount, inspired by Python import systems.

I am especially pleased with one part of ES6, the part that cannot be modeled through abstractions, as in CoffeeScript, is a proxy. ES6 proxies allow you to dynamically search for function names at runtime, allowing functionality similar to Ruby's method_missing . This, combined with the acquisition and installation, allows you to include all kinds of interesting DSL, and APIs.

ES6 generators must completely change the way we write asynchronous JavaScript. Instead of the spaghetti from the callbacks we are used to, we can call asynchronous functions through the synchronous API using the yield keyword. You can see an example of this in task.js.

spawn(function*() {

var data = yield $.get(url);

$('#result').html(data);

});


You could see a similar API in Ruby using Fibers. For me personally, callbacks became a major irritant when writing source code in MVC Node apps, and I had to use a library called Ace . I am very happy that this is becoming native for the language.

Most of ES6 is currently available in Chrome under the flag of experimental JavaScript . It will be released in early 2013. You can also use ES6 in Node right now using the command line --harmony .

Web components



Web components and the Shadow DOM simply open the way in which natural elements are created inside the browser. Using the API, you can define your own HTML elements, including styles and behaviors. Like native HTML elements, they can be included as a single tag.

Web components are going to change the way the JavaScript is written and distributed by the libraries. They can be completely separated, easily connected, and are the main reason Jacob and I wrote the Bower package manager.

For example, I can write a good component of the map, add it to the package manager, and another developer will be able to embed it into his application through a single tag. The components are separated from each other, and their internal HTML, CSS, and JavaScript are far away from the usual tags.

Web components are available under the established experimental WebKit special flag in Chrome. For now, you can use these Mozilla x-tags polyfill .

Future



A common reaction to some of the discussions about new Web APIs is exposing how many years can pass before some of them become available for use. I am extremely optimistic about the future.

While many of these APIs take some time to optimize for other browsers, the market share that belongs to WebKit will put pressure on other browser vendors to offer their own implementations. Indeed, HTML5 does not take much time to achieve viable performance.
As for backward compatibility, some of these interfaces may gradually degrade.

The reason why the future looks so bright is the “evergreen” browsers, or browsers that are automatically updated in the background. About 18 weeks is needed so that the new feature in Chrome's Canary can be deployed to its ~ 350 million users. This is an incredibly high rate of innovation implementations, and they happen faster than ever before.

2013 promises to be a great year for the web!

PS (from translator): the last parts about ES6 and web components have become a real test for my brain, and if someone can offer a more adequate translation of some phrases, I will be grateful for the amendments. And in conclusion, I would like to wish 2013 to become a really big year for all of us, with the coming!

Source: https://habr.com/ru/post/164475/


All Articles