Meteor Fan (日本語情報)

JavaScriptフレームワークMeteorに関していろいろ紹介する日本語情報サイト

30分以内でMeteorを紹介する公式ビデオ

Meteorを紹介するビデオが公開されたので紹介します。

20分以上ある長いビデオですが、最新情報やデモも含まれていて参考になります。Rev-1.0となっているので今後も更新されるかもしれません。

導入部だけ翻訳しましたのでご参考にどうぞ。

Meteor (タイトル)

I’m Robert Dickert and I’m here to talk to you about Meteor.

私はロバート・ディカートです。今日はミーティアについてお話しします。

What we’ll cover (話す内容)

Today, we’re going to do a broad overview of Meteor.

今日は、ミーティアの全体像を概観します。

We talk about what it is, while you might want to consider it,
and we’ll do a code demo.

ミーティアがどういうものであり、なぜ気にする必要があるのかをお話し、コードデモを行います。

And talk about who’s using it, who’s behind it, and what’s next. so let’s get started.

その後、誰がミーティアを使っているか、誰がミーティアを作っているか、これからどうなるのかをお話しします。さあ、始めましょう。

What is Meteor? (ミーティアとは何か)

So what is Meteor?

さて、ミーティアとは何でしょうか。

Meteor is a full stack open source platform for building web and mobile apps in JavaScript.

ミーティアはフルスタックでオープンソースのプラットフォームであり、JavaScriptでWebアプリやモバイルアプリを作るためのものです。

With Meteor, you can write your whole code in pure JavaScript, front-end and back-end.

ミーティアではすべてのコードをJavaScriptのみで書くことができます。フロントエンドもバックエンドもです。

From the single JavaScript code base you could target iOS, Android and the web.

一つのJavaScriptコードからiOS向け、アンドロイド向け、Web向けに展開可能です。

Meteor is made of packages, and it’s MIT licensed, so it’s very open an extensible.

ミーティアは複数のパッケージで構成され、MITライセンスで公開されています。よって、とてもオープンで拡張性があります。

And because it was designed to link, you get started in productive very quickly.

また、とてもうまく設計されているため、すぐに生産性が上がります。

For example, the app pictured on the right is a demo that implements a collaborative mobile app in less than a thousand lines of JavaScript.

例えば、右上の画像(ビデオ中の)アプリは共同作業のモバイルアプリのデモですが、1000行未満のJavaScriptコードで書かれています。

In short, the goal of Meteor is to allow you to build advanced apps quickly with a small team allowing even individuals to achieve things that used to be possible only a large companies like Google and Facebook.

一言で言うと、ミーティアのゴールは小さいチームですばやく先進的なアプリを開発できるようにすることです。さらには、これまでGoogleやFacebookなどの大きな会社だけができていたようなことを個人でもできるようにすることです。

so how does Meteor do this?

さて、ミーティアはどのようにこれを実現するのでしょうか。

Let’s step through Meteor’s components.

ミーティアの要素を見ていきましょう。

It has a command-line tool which allows you to create, edit and deploy apps.

アプリを作成、編集、公開することができるコマンドラインツールがあります。

It has a view layer which by default as Meteor’s Blaze package, but you can use any framework you want such as Angular React, and Famous.

標準のBlazeというビュー層があります。これは、お好みで、AngularやReactやFamousなどの他のフレームワークを使うこともできます。

Livequery takes a production database like MongoDB and transforms it into a real time database.

ライブクエリはMongoDBのような既存のデータベースをリアルタイムデータベースに変換します。

You can think of it like an open source version firebase.

Firebaseのオープンソース版と考えてもらえればよいでしょう。

Meteor has a full stack package system that coordinates server, client and mobile code bases and is hosted on atmospherejs.com.

ミーティアにはフルスタックのパッケージシステムがあります。サーバコード、クライアントコード、モバイルコードがそろっていて、atmospherejs.comにまとめられています。

And it has a built system that includes not just client and browser but also mobile.

最後に、ミーティアにはビルドシステムがあり、クライアントやブラウザだけでなくモバイルも対象にしています。

“Why Meteor?” (なぜミーティアか)

Everyone here probably has a framework
that they’re already comfortable with.

みなさんは既にご自分が気に入ったフレームワークを使っていることと思います。

So why would you want to consider trying Meteor.

そこでなぜ新しいミーティアを検討する必要があるでしょうか。

To begin with, table stakes for app functionality have changed a lot over the last five to ten years.

まず、ここ5年から10年でアプリの機能に必要となるコストが大きく変わったことがあげられます。

We went from a place where all users came to sites on desktop browsers to the majority now arrives on mobile.

以前は、ユーザがデスクトップのブラウザでサイトにいるだけでしたが、今では大多数はモバイルです。

We went from where we didn’t mind hitting the refresh button to get updates to where we expect to be notified live.

また、以前はページを更新するのにリロードボタンを押すことは普通でしたが、今では瞬時に通知されることを期待します。

We went for being a group individuals consuming content to being a collaborative team that can create and change that content together.

以前は一人ひとりの個人がコンテンツを消費するだけでしたが、今ではチームが一つのコンテンツを共同で作成し修正します。

And we went from support web links and forms to where we expect our web app to have a UI that’s as good as native apps.

以前はリンクとフォームのUIでしたが、今ではネイティブアプリと同じようによいUIを持ったアプリが求められます。

This started with apps like Twitter which notifies you with the scrolling alert
when there are new tweets in the conversation.

これはツイッターのようなアプリが新しい更新があるときに通知することから始まりました。

This is pretty easy to do and most frameworks by pulling the server and it’s okay if the notification comes in a few seconds after new tweets come in.

これ自体はほとんどのフレームワークで簡単に実現でき、サーバから定期的に取得するだけです。これは更新から通知が数秒かかってよい場合は問題ありません。

But things have become more complicated.

しかし状況はもう少し複雑になってきました。

This is Trello.

これ(ビデオ中の)はTrelloです。

We have two users one on top and one on bottom.

2人のユーザが上下に分かれています。

When the top user adds some text and hits enter the other user immediately
sees the text appear as a card.

上のユーザがテキストを入力してエンターキーを置すと、下のユーザは瞬時にそのテキストをカードとして見ることができます。

Then, the first user can drag my card and the user at the bottom can see it move.

そして上のユーザがカードをドラッグすると、下のユーザは動いているのみ見ることができます。

This is a more sophisticated UI.

これはだいぶ洗練されたUIです。

Also those people may be talking live on
the phone or maybe on a hangout.

この2人のユーザは電話かハングアウトで会話中かもしれません。

So it’s important that the changes be reflected immediately.

つまり変更が瞬時に反映されることは重要なのです。

There’s a lot going on here and managing it can get really complex.

これは内部では複雑なことをしていて管理するのは大変です。

The Trello’s own words. “We’ve bred all over it”.

Trelloの言葉としてこれがあります。「私たちはこれを完全に作り上げた」

The problem is that we started with support frameworks that
were designed for the way the web used to be.

問題は、我々が旧来のwebを想定して設計されたフレームワークにこれらの機能を追加し始めたことです。

And we’re adding more and more tools to them, spending much more time integrating them.

そして旧来のフレームワークに次々と機能を追加し、それに多大な時間をかけていることです。

This is why Meteor was created to bring together collection well integrated tools allowing you to build highly interactive apps with much less code.

これがミーティアが開発された理由です。インタラクティブなアプリを少ないコードで開発するためのツールを統合したフレームワーク、それがミーティアです。

(ビデオは、デモ紹介へと続きます)