2014年WEBの世界で起こっていること(3) : The current state of the web

2014年WEBの世界で起こっていること : The current state of the web

※本稿は弊社のCTO、Slavi Pantaleevによる記事です。

〜2014年WEBの世界で起こっていること(1)はこちら〜
〜2014年WEBの世界で起こっていること(2)はこちら〜

Only one programming language for the whole web?

As mentioned above, Javascript is the only programming language currently being used on web pages.

This is a very strange phenomenon, considering that for other types of programming (server web development, systems programming, desktop applications development, etc.) there are many different alternatives, each of which comes with its pros and cons. Developers get to choose the one that they like best and fits their project best.

Currently, there are also attempts to change the language itself. A Javascript reform/update is slowly happening, called ECMAScript 6.0.

In the mean time, other new languages are getting introduced: Google’s Dart, Microsoft’s TypeScript, CoffeeScript, and more. As of yet, they are all experimental and can’t be used as a direct replacement – no current major web browser supports them. They are just giving us a taste of a possible brighter future.

WEB全体にたったひとつのプログラミング言語?

既に述べたように、JavaScriptが現在WEBページで使われる唯一のプログラミング言語です。

これは他のタイプのプログラミング(サーバーWEB開発、システムプログラミング、デスクトップアプリケーション開発、その他)においては様々な手段があることを考えても非常におかしな現象です。普通はそれぞれの長所と短所を考慮しつつ、開発者がプロジェクトに最適と思うベストを選ぶものでしょう。

現在、言語そのものを変えようという試みはあります。JavaScript再編/アップデートというのがゆっくりと起こっていて、CMAScript 6.0.と呼ばれています。

一方で、別の新しい言語も登場しています:GoogleのDart、MicrosoftのTypeScript、CoffeeScript、それ以外にもあります。ただし今のところどれも実験段階で直接的な代替にはなりません – 今の主要ブラウザでそれをサポートしているものがないのです。だから今のところは、ひょっとしたら?という未来の光を投げかけているだけにすぎません。

Have the browser wars ended yet?

The browser wars and push for innovation are far from over yet. There’s still a strong push for better and faster browsers.

It turns out that computers are getting more powerful in terms of getting more processing units (processor cores). Browsers need to be able to make use of all these additional processing units/cores to make the best of your processor and to give you the fastest experience.

The current major browsers engines (Google Chrome’s Blink engine, Mozilla Firefox’s Gecko and Microsoft Internet Explorer’s Trident) have been designed at a time when processors only had a single processing unit. Parallelism (spreading work across multiple processing units) wasn’t important. We should note that high parallelism is still not very important, but it will be in a few years of time as the number of processing units in each processor increases.
So these browser engines designed in the past will not work optimally on the hardware that will appear in the following years.

The maker of Firefox, Mozilla, is working on a project sponsored by Samsung, to solve that problem. They are currently doing research and development on a new browser engine called Mozilla Servo, which will make much better use of all processing unit cores, providing huge speedups in application execution time.
Even though they seem to be making good progress, it’s just a research project for now and its destiny is unknown. Many will be happy to see the Servo engine replacing the current engine (Gecko) within the Mozilla Firefox browser, but the fate of that is yet to be determined.

ブラウザ戦争は終焉していないのでしょうか?

ブラウザ戦争とイノベーション追求は幕引きには程遠いと言えるでしょう。ベターでより早いブラウザを強く後押しするものがまだあるからです。

プロセスユニット(プロセッサ・コア)が増えたという意味で、コンピューターはパワフルになりました。ブラウザは、この増えたプロセス・ユニット/コア分の使い道を見つけてプロセッサを最適化し、速度を上げていかなくてはなりません。

今現在の主要ブラウザエンジン(Google ChromeのBlink engine、Mozilla FirefoxのGecko、Microsoft Internet ExplorerのTrident)は、プロセッサがシングルプロセスユニットしかない時代に生まれました。その当時、並列処理(複数のプロセスユニット間で作業を分散すること)は重要ではなかったし、今でもそれほど重要ではないかもしれません。ですが数年後、各プロセッサのユニットが増えるにつれて重要になってくるということは覚えておくべきです。
これらの過去にデザインされたブラウザエンジンはこれから出現してくるハードウェアでは最適に動作しないでしょう。

Firefoxを生み出したMozillaはその問題を解消すべく現在、サムスンがスポンサーとなってプロジェクトに取りかかっています。Mozilla Servoという新しいブラウザエンジンの研究開発です。プロセスユニットコアを最大限に生かし、アプリケーションを実行する時間の大幅なスピードアップを狙っています。
上手く進行しているように見えますがまだ現時点では研究プロジェクトでしかなく、その先行きは不明です。Servoエンジンが今のMozilla Firefoxブラウザのエンジン(Gecko)に取って代われば喜ぶ人は多いかもしれませんがその運命はまだ定かではありません。


Interestingly, it turned out Google’s fast Javascript engine, V8, can be put to other uses as well. It can do so much more than just create interactivity inside a web page document.

Join us in the next installment of this article series to learn more. We will talk in more detail about the state of server side development (for the web).

 

興味深いことに、Googleの高速JavaScriptエンジンV8は、他の目的にも使えるいうことが判明しています。単にWEBドキュメント間の相互作用生み出す以外にもできることが多いにあるのです。

次回は、サーバー側の開発(WEB向け)の状況について詳しくお話しできればと思います。どうぞお楽しみに。