2011年11月07日

[Android][翻訳] ICSで新しく公開されたAPI

英語の勉強にもなるし、と思い、Android Developers Blogを読んでみることにしました。
ただ、中学・高校レベルの英語力しかないので、うまいこと訳すことができません。
時間もかかりました。
いずれ英語力がついたときに過去の訳を読んで恥ずかしくなるために、ここに晒します。
添削していただける奇特な方がいらっしゃいましたら、コメントいただけると幸いです。

元の記事
http://android-developers.blogspot.com/2011/10/ics-and-non-public-apis.html

--------------------------------

20 OCTOBER 2011

Posted by Tim Bray at 10:20 AM

New Public APIs in ICS

ICSで新しく公開されたAPI

Since Android is open-source, anyone can look at the code and see how it works inside. If you do this, you’ll notice that most but not all of the APIs are publicly documented.

Androidはオープンソースなので、誰でもコードを見ることができるし、内部でどんな処理が行われているか知ることができます。
もし、それを行うのなら、すべてではないけれど、ほとんどのAPIが文書化され公開されていることに気づくでしょう。

If they’re publicly documented, they’re part of what we consider the Android Application Framework. This means their tests appear in the Compatibility Test Suite (CTS) so that our hardware partners have to prove that the APIs work, and that we promise to try very hard not to change them and thus break your code.

文書が公開されているなら、それらは私たちがAndroid Application Frameworkと考えるものの一部です。
これが意味するのは、これらのテストがCompatibility Test Suite(CTS)にあるということです。
私たちのハードウェアパートナーはAPIが動作することを証明する必要があります。
さらに、あなたのコードを壊してしまわないよう、動作を変えない努力を精一杯行うことを約束します。

In almost every case, there’s only one reason for leaving APIs undocumented: We’re not sure that what we have now is the best solution, and we think we might have to improve it, and we’re not prepared to make those commitments to testing and preservation.

ほとんどすべての場合で、文書化されていないAPIを残す唯一の理由があります。
何が最良の解決法なのか確信が持てないとき、私たちはそれを改良する必要があるかもしれないと考えます。それらのテストや維持に責任を果たす準備が出来ていない場合に文書化されていないAPIを残します。

We’re not claiming that they’re “Private” or “Secret” − How could they be, when anyone in the world can discover them? We’re also not claiming they’re forbidden: If you use them, your code will compile and probably run. And in fact we know of quite a few apps out there whose developers have used undocumented APIs, often to good effect. It’s hard to get too upset about this in cases where there’s a useful API that we haven’t gotten around to stabilizing.

私たちはそれらが"Private"であるとか"Secret"であるとは主張していません。
-誰もがそれを見つけることができるようにするにはどうしたら良いのでしょう?
私たちはそれらを禁止しているとも主張していません。あなたがそれらを使っても、コードはコンパイルされ、おそらく動くでしょう。
そして、実際にかなりの数の文書化されていないAPIを活用したアプリが出回っていることを知っています。
私たちにこの便利なAPIを安定化させる余裕がないような状況では、腹を立てるわけにはいきません。

But the developers who use those APIs have to be prepared to deal with the situation that arises when we move them from the undocumented outside into the Android Application Framework. Fortunately, this is reasonably straightforward. Also we take a close look at Android Market, using our in-house analytics tools, to get a feel for the impact when we know one of these changes is coming.

しかし、これらのAPIを利用する開発者は、私たちが Android Application Frameworkに文書化されていないAPIを移した際に起こる問題に対処できるよう備えておく必要があります。
幸いなことに、これはまあまあ簡単なことです。
私たちはこれらの一つの変更が行われるときの影響を感じられるように、社内分析ツールを使ってAndroid Marketを注視しています。

There are a few such changes coming up in the Android 4.0 “Ice Cream Sandwich” (ICS) release of Android. We wanted to take the opportunity to combine these words on undocumented APIs with some specifics about the changes.

Android 4.0 ”アイスクリームサンドイッチ” (ICS) のリリースで、そのような変更が少し出てきます。
私たちは文書化されていないAPIといくつかの変更のあった仕様をまとめる機会を得たいと考えていました。

Calendars

カレンダー

Let’s start with the good news: As of ICS, the Android Framework will include a fully-worked-out set of APIs for accessing Calendar data. You can guess the bad news: Quite a few developers have built apps (including many good ones) using the undocumented Calendar APIs, some using fairly low-level access to the calendar database. Unfortunately, these integrations were unsupported, and prone to breakage by platform updates or OEM customization of calendar features.

良いニュースから始めましょう:ICSではAndroid Frameworkにカレンダーにアクセスするための十分に練り上げられたAPIを含むようになります。
悪いニュースは想像できるでしょう:
かなりの数の開発者たちは非公開のカレンダーAPIを利用したり、中にはカレンダーデータベースにかなり低レベルなアクセスをしてアプリ(多くの素晴らしいもを含む)を作り上げてきました。
不幸にもこれらの統合はサポートされない上に、プラットフォームのアップデートや、カレンダーのOEMカスタマイズによって壊れやすくなっています。

We want to see lots of good calendar apps and extensions that work reliably across Android devices, and aren't broken by platform updates. So we decided to create a clean API, including a comprehensive set of Intents, to manage calendar data in ICS. Now anyone can code against these new APIs and know that Android is committed to supporting them, and that partners have to support these APIs as part of CTS.

様々なAndroid端末で確実に動き、プラットフォームのアップデートがあっても壊れない、そのような多くの素晴らしいカレンダーアプリと拡張機能を見てみたいと思っています。
私たちは、Intentの総合的なセットを含む、ICSでカレンダーのデータを管理するためのきれいなAPIを作ることにしました。
今すぐ誰でもこれらの新しいAPIでコーディンクすることができ、Androidがこれらのサポートを約束していることを知り、パートナー会社はCTSの一部として、これらのAPIをサポートする必要があります。

Once the new APIs arrive, you’re going to have to update your apps before they’ll run correctly on ICS while still working on older releases. There are a variety of techniques for doing that, many of which have been featured on this blog, including reflection and lazy loading. Recently, we introduced Multiple-APK support, which could also be used to help with this sort of transition.

新しいAPIが出てきたら、あなたのアプリがまだ旧APIで動いている間はICSでも正しく動くでしょうけれど、アップデートをしなければならなくなるでしょう。
それを行うには様々な技術があり、リフレクションや遅延読み込みを含む多くの記事がこのブログで取り上げられています。
最近、私たちはある程度移行の手助けとしても使える複数APKのサポートを紹介しました。

Text To Speech

テキストから音声への変換

Android has never really had a text-to-speech API at the Framework level, but there was unofficial access at the C++ level. With ICS, we will have a fully-thought-through application-level API running on Dalvik, so you can access it with ordinary Java-language application code.

AndroidにはFrameworkレベルのテキストから音声に変換するAPIがありませんでしたが、C++レベルの非公式のものはありました。
ICSでは、完全に考え抜かれたアプリケーションレベルのAPIがDalvik上で動作するようになります。そして、それは通常のJavaのコードでアクセスできます。

The old C++ API will no longer be supported, but we’ll have a compatibility layer that you can use to bridge from it to the new API. We think it should be easy to update for ICS with very little work.

古いC++のAPIはもはやサポートされなくなりますが、互換レイヤーが用意されるのでそれを使って新しいAPIに接続することはできます。
ほんの少しの作業で簡単にICSへアップデートできると考えています。

Doing the Right Thing

正しい対応を行う

We recognize that this means some work for developers affected by these changes, but we’re confident that Android programs in general, and both Calendar and TTS apps in particular, will come out ahead. And we also think that most developers know that when they use undocumented APIs, they’re making a commitment to doing the right thing when those APIs change.

私たちはこれらの変更で影響を受ける開発者たちに作業が発生することを認識しています。
しかし、私たちは一般的なAndroidアプリや、特にカレンダーアプリやTTSアプリの両方が得をすると自信を持っています。
そして、私たちはまた、多くの開発者たちが文書化されていないAPIを利用するときにそのことを理解している、彼らはそのAPIが変更されるときには正しい対応を行う責任を持っている、とも考えています。
タグ:翻訳 android
posted by t2low at 02:15| Android