あなたはよく知っている道でジョギング中、突然アイデアをひらめいた――次期キラー級のモバイルアプリ。家への道にはもうジョギング時間はどうでもいい、あなたのアイデアを直ちに現実化しただたいだけ。しかし一体どのように手をつけるか?あなたはまだプログラマーではなくて、プログラマーになりたいならば、数年の時間がも必要だ、時は金なり、その上……甚だしきに至っては、恐らくすでにそれを作った人がいった。このような、あなたの構想は沙汰止みになった。

今1つの異なる世界を想像しましょう、そこでアプリ創るには長年のプログラミングして経験する必要はなくて、芸術家、科学者、人道主義者、衛生の保健の従事する人、弁護士、消防員、マラソンのスポーツ選手、サッカーのトレーナー、および社会の各界の人士はすべて自分がアプリを創ることができる。少し想像して、この世界の中で、プログラマーを雇用する必要はなくて、アイデアはプロトタイプ開発に転化することができる;あなたは自分の専属のアプリを創ることができて、モバイルコンピューティングをあなたの個人ニーズに満足させる。

これはApp Inventorの世界、モバイルアプリを作り上げるのに可視化のプログラミング道具である。“ブロック”の言語のプログラミングする方法に基づいて、たとえ子供にとしても成功を実証済み。App InventorはAndroid携帯電話と設備のために開発敷居下がっています。少し想像して、ビデオゲームの中の役はあなたとあなたの友達になります;あるいは“牛乳を買う”のアプリ、あなたが午後3時の後であるスーパーマーケットを通る時、それはあなたに気づかせます;あるいはテストアプリ、実は新しい工夫をこらすプロポーズの形式で、あなた大切な彼女に“質問 4: 私と結婚するか。同意するボタンを押してテキストメッセージを送信する”。”本当にこのようなApp Inventorアプリでプロポーズする人がいて、相手はなんとYES!

携帯電話専用のブロック言語

App Inventorはビジュアル、ドラッグアンドドロップのプログラミングするツールの1つ、Androidプラットフォームので上でモバイルアプリをせいさくするツールである。Webベースのグラフィック・ユーザー・インターフェース(GUI)のビルダー利用して、アプリのユーザー・インターフェース(外観)をデザインし、それからパズルを遊ぶように、“ブロック”の言語をつづり合わせて、アプリの動作を定義する。

図0―1はあるアプリの初期バージョンのブロック、作者Daniel Finneganは一度もプログラミングを学んだことがないの大学生だ。あなたはこのアプリの機能を説明できますか?

図0―1 ショートメッセージに応答するアプリ

これはショートメッセージの“応答”アプリだ。運転する時それをスタートさせて、受け取るショートメッセージに対して自動返答を行うことができる。 従来の手続きのコードに比べて、これらの言語は更に理解しやすいため、あなたは直ちに引きつけられて、自分の実際的経験を結び付けて、あなたは恐らく次のような質問が湧いてくる:受け取るショートメッセージを大声で読むことができますか?私は答をカスタマイズができますか?私は“アメリカアイドル”のように、人々をショートメッセージで投票させるアプリを作れるか?以上のすべての問題の解答はすべて確かだ。この本は間もなくあなたにどうやり遂げるのを教える。

App Inventorで何をしますか?

遊び

携帯電話のアプリを書くことは楽しいだ、App Inventorは更に探求して発見する楽しみを増やした。Webブラウザー中でApp Inventorを開けるのでさえすれば、携帯電話につながって、そして図0―1の中のでようにいくつかブロックをつづり合わせて、直ちに携帯電話の上であなたのアプリを見ることができ、そして相互に作用できる。そこであなたはプログラミングを始めて、メールを友達に出してあげて、彼らにショートメッセージを出してあなたのアプリをテストしに来る;あるいはちょうど書くアプリでLEGO NXT ロボットを制御します;あるいは携帯電話を抜いて屋外まで行って、アプリは位置センサーを正しく使ったのかどうか少し検証する。

プロトタイプ

アプリのアイデアがあるか?ペーパーナプキンの上で書込みするか、あるいは漂わせ消え去るか、またはその代わりに急ぎでプロトタイプを作る。プロトタイプはあなたのアイデアの動くモデルで、完全でなくても、精致でなくでも構わない。文字を使って考えを表現し、友達あるいは恋人にエッセイを書くように;App Inventorのプロトタイプを建ることは、ベンチャーキャピタル詩歌を書くようなこと。つまりモバイルアプリ開発において、App Inventorは電子のペーパーナプキンとして役立ちます。

個人的なユーティリティアプリを作る

現在のモバイルが世界の中に、私達は与えられたアプリに詰まられた。あなたは不平をこぼしたことがないか?私達は個性化のアプリを期待して、少なくとも私達にその機能を調整することができる。App Inventorを使って、まさに自分欲しいのアプリを作ることができる。例えば、第3章Mole Mash(モグラ叩き)のゲームは、ランダムに動くのモグラに当たって得点する。あなたはモグラを好きなイメージに差し替えることができ、たとえばあなたの兄弟姉妹の写真、他の人を気にかける必要はない;第8章のテストアプリでは、アメリカ大統領と関係がある問題を尋ねるが、あなたは気楽に問題を改正することができて、いかなる話題て、あなた好きな音楽からあなた一族の歴史まで。

完璧なアプリを開発

App Inventorはプロトタイプシステムあるいはインターフェイスのデザイナーだけでなくて、各類の完璧なアプリを作ることができる。その言語はすべての基礎のプログラミングする循環文と条件文のようなコマンドを提供して、ただ“ブロック”の形で現れる。

教学

あなたは中学生、高校生、それとも大学生にも関わらず、App Inventorは偉大な教育の道具である。その偉大さはコンピュータ科学だけではなく、数学、物理、創業とその他の学科にとっても素晴らしい道具である。重要なのは創造中で学ぶので、公式を丸暗記するのではなくて、例えば、あなたは近い病院(あるいは市場)を探すのアプリを作る;黒人歴史上のエッセイを書くの代わりに、マーティンルーサー キングとマルコム X のビデオやスピーチからマルチメディアクイズアプリを作る。App Inventor とこの本は、カリキュラムを通して、クラスで強力なツールとして使かえる。

なぜApp Inventorを使う

多くの人はApp Inventorそのビジュアルでドラッグ アンド ドロップのインターフェースのため、使いやすいと言った。しかしこれは一体何を意味しますか?どうしてApp Inventorは使いやすいですか?

コマンドを記憶そして入力する必要がない

新米にとって、プログラミングする最大の挫折は、コードを入力するのと、コンピュータの弾いた難解なエラーメッセージ。このような挫折により、多くの初心者論理性の問題を解決する楽しみ感じる前に諦めた。

いくつのオプションから選ぶだけ

App Inventorの中で、コンポーネントとブロックが分類された引出しに入れて、すぐにも使える状態である。プログラミングするときは、これらが見つかって、それらをプログラムの中で引っ張って、あなたの作りたい機能を実現する、コマンドを覚えたり、プログラミングマニュアルを調べたりする必要はない。

一部ブロックの間のみプラグ可能

プログラマーをなぞめいたのエラー・メッセージで挫折したに比較して、App Inventorのブロック言語は、最初から間違うを犯すたくさんの機会を排除した。例えば、ある機能ブロックは数字の入力を期待する場合、文字を入力することができない。これはすべての誤りを取り除くことはできないが、間違いなく助った。

直接イベントに対応

従来のプログラミング言語は、レシピーを照らして料理をする、順次一連のコマンドを実行するようにデザインされた。しかしグラフィックインターフェース、特にモバイルアプリの場合、イベントはいつでも発生する、(例えばショートメッセージの受信あるいは電話をうける)、多数のプログラムはレシピー形式ではなく、いくつイベントハンドラで対応。イベント処理の手順は:“あるイベントが発生する時、アプリはこれをする。Javaのような従来の言語で、簡単なイベントを表記するには、クラス、オブジェクト、およびリスナーという特殊なオブジェクトを理解する必要がある。App Inventorの中では、”ユーザーが押しボタンをクリックする時に…“、あるいは“ショートメッセージを受け取る時…”の処理は、ただ“when”のブロックを引っ張り出すだけ。

どんなアプリを作れるか?

App Inventorで異なるタイプのアプリが作れる。あなたの想像力を発揮して、各種面白くて実用的なアプリを作だす。

ゲーム

人々はよく簡単にのアプリから、第3章の“もぐらたたき”のゲームに似ているアプリ、あるいは第2章の友達の顔で絵を画いたアプリ。進むにつれて、パックマンあるいはスペースインベーダーのような独自バージョンの更に複雑なゲームをつくる。されに携帯電話のセンサーを使て、携帯電話の傾くを通じてゲームの中のキャラクターを移動させる(第5章)。

教育のソフトウェア

App Inventorは限られた簡単なゲームを作るだけではなくて、情報と教育類のアプリも作れる。第8章の“クイズ”アプリはテストための復習を助ける、さらに第10章の“クイズ作成”のように、独自のクイズをアプリも作れる(長距離の旅行の親達がこのようなアプリが好みと思う!)。

位置感知アプリ

App InventorがGPS位置センサーへアクセス可能なため、自分がどこかを知るアプリは作れる。自分のパーキング位置を覚えるアプリ(第7章);コンサートまたは大型の会議に参加する友達または同僚の位置を表示するアプリ;あるいは所属学校、職場または博物館のカスタマイズツーアアプリ。

ハイテクアプリ

バーコードをスキャン、お喋り、音声認識、音楽の再生、演奏または録音(第9章)、ビデオの再生、携帯電話の向きと加速度、写真を撮る、そして電話をかけるなどのアプリは作れる。スマートフォンは技術的にスイスアーミーナイフに似ていて、App Inventorはその技術を更にコントロールしやすくなった。

ショートメッセージアプリ

“運転中ショートメッセージなし”(第4章)はショートメッセージ処理アプリの一つ簡単な実例である。周期的に恋しい友達に“あなたに会えなくて寂しい”の挨拶を送信するアプリ、あるいは大型イベントのコーディネートに役に立つ“ブロードキャスト・ハブ”(第11章)のようなアプリ。友達をショートメッセージで“アメリカアイドル”番組のように投票するアプリが欲しい?App Inventorで作れる。

ロボットをコントロールするアプリ

第12章はどのようにLEGOロボットをコントロールするアプリの作り方を見せる。携帯電話をリモコンとして使う、あるいはロボットどこ行ってでも背負い“頭脳”としてプログラミングする。ロボットと携帯電話との間はブルートゥースで通信する、App Inventorのブルートゥースコンポーネントは、他のブルートゥースデバイスをコントロールするアプリも作れる。

複雑なアプリ

App Inventorは大いにプログラミングする敷居を下げて、新鮮な、ハイテクのアプリを数時間で作だすことができる。しかしこの言語はループ、条件判断とその他必要なプログラミングと論理の構造も提供し、複雑な論理のアプリも作れる。これらの論理の問題を含むアプリを作ってみると、きっとそのが面白さに驚くでしょう。

インターネット対応アプリ

App InventorはWebとの通信手段も提供する。TwitterまたはRSS feedのデータを取りこむアプリを書く、あるいはアマゾン書店ブラウザのような、本のバーコードをスキャンして、オンラインの価格を検索するアプリを書く。

誰がアプリを作る?

App Inventorは誰でも自由に利用できる。オンラインで利用する(コンピュータのアプリケーションではない)、いかなるブラウザーからアクセス可能し、携帯電話すらがいらない:内蔵するAndroidエミュレータでアプリをテスト可能。2014年9月まで、App Inventorはすでに195の国からの190万人の登録ユーザーを持ち、5百万のアプリを作れた。

誰がこれらのアプリを作たのか?彼らはプログラマー?一部の人そうである、しかし大多数の人はそうではない。

その中は最も説得力の例は、Wolber教授はサンフランシスコ大学(USF)で講義するコース、David Wolber 教授はこの本の作者のひとりである。USFでは、App Inventorはコンピュータサイエンスの科目講義の一部として、主にビジネスと人文学院の学生をターゲットする。この科目に参加する学生の多数は数学に恐れている、コースには、恐ろしい数学コア要件が満たされる、学生の大半はコンピューターのプログラムを書くのも夢にも思わない。

経験を持たないにもかかわらず、学生は App Inventor を学習し、優れたアプリケーションの構築に成功している。一人英語専攻の学生は“運転中ショートメッセージ出ない”のアプリを作った;二人の通信専攻の学生は“私の車はどこですか?”アプリ(第7章)を作った;一人国際研究専攻の学生は“ブロードキャストハブアプリ”を作て(第11章)。ある日仕事がひけていた後に、一人芸術専攻の学生はWolber教授の事務室の扉をたたき、しばらくwhileループを作成する方法を尋ねる、この時Wolberは、App Inventorのはコンピュータサイエンス教育の風景を劇的に変えていたことを意識した。

メディアもこの変化の意義に関心を持ちを始める。《ニューヨーク・タイムズ》はApp Inventorを“DIYアプリ作成ソフト”と呼び;《サンフランシスコ ・ クロニクル》は記事にUSFの学生の作業について、「Googleは大衆にアプリをもたらす」とレポート。「ワイアード」誌は、――“運転中ショートメッセージ出ない”の作者Daniel Finneganを特集し、“フィネガンの物語は強力なポイントを示している。コンピュータプログラミング民主化の時代になった。”と書いた。

彼らは言ったように、この猫はすでに袋から跳び出した(最初のアプリはキティを含む)を跳び出しました。今App Inventorはすでに世界中の中学と高校で講義をした;28国2500女性参加する“Technovation Challenge”という女子高校生のため課外プログラム;新しい高校のコンピュータサイエンス原理のアドバンスコースためのパイロットコース。および何校の大学の入門コース。数千人の愛好者、商人、結婚仲介人と職人さんがApp Inventorのウェブサイト上でローミングしている。行動を始めたいですか?プログラミング経験は必要はない!

本書の表記規則

本書は次の表記規則を採用した:

イタリック:新しい用語、URL、Eメールアドレス、ファイル名、およびファイル拡張子を示す。

等幅フォント:プログラムリスト及び段落内変数または関数名、データベース、データ型、環境変数、文、キーワードなどのプログラム要素を表す。

定幅太字フォント:コマンドまたは他のテキストをユーザーが入力する必要があることと示す。

定幅イタリック:ユーザーが指定する値で、または文脈によって決定された値で置き換える必要のあるテキストを表す。

Tip : このアイコンは:ヒント、提案を意味する。

Note : このアイコンは構築しているアプリをテストするための指示を意味する。

コードサンプルの使い方

補足資料(コード例、演習など)はhttps://appinventor.org/bookFilesでダウンロードできます。

この本はあなたの仕事完成を助けるためにある。一般的には、コード例が本書で提供されている場合、あなたのプログラムやドキュメントにそれを使用することができる。あなたは、コードの大部分を複製していない限り、私達に連絡し許可を取る必要はない。例えば、本書のコードのいくつかのチャンクを使用したプログラムを書くことは許可を必要としない。オライリーの本からサンプルのCD-ROMを販売または配布することは許可が必要である。この本を引用し、コード例を引用して質問に答えには許可を必要としない。お使いの製品のマニュアルに本書のサンプルコードのかなりの量を組み込むことは許可が必要である。

出典の表記に感謝するが、必須ではない。出典は通常、タイトル、著者、出版社、およびISBNが含まれています。例えば:“App Inventor 2 by David Wolber, Hal Abelson, Ellen Spertus, and Liz Looney (O’Reilly). Copyright 2015 David Wolber, Hal Abelson, Ellen Spertus, and Liz Looney, 978-1-491-90684-2.”

コード例の使用がフェアユースまたは上で与えられる許可範囲を超えた場合は、[email protected] へお気軽に問い合わせください。

Safari® Books Online

サファリブックオンライン は、技術とビジネスの世界の一流作家から本およびビデオ形式で専門家のコンテンツを配信するオンデマンド デジタル ライブラリです。

技術専門家、ソフトウェア開発者、Web デザイナーとビジネスおよび創造力ある専門家は、研究、問題解決、学習、及び認定トレーニングのため、サファリ オンライン ブックを主なリソースとして利用。

サファリブックオンラインは、企業、政府、教育、および個人向けプランと料金を提供している。

メンバーは、O’Reilly Media, Prentice Hall Professional, Addison Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology, など数百の出版社から書籍、トレーニング ビデオ、および完全に検索可能なデータベースにアクセス権を持つ。

サファリブックオンラインの詳細については、オンラインをご覧ください。

お問い合わせ方法

本書に関するコメントや質問は出版社に対応してください:

• O’Reilly Media, Inc.
• 1005 Gravenstein Highway North
• Sebastopol, CA 95472
• 800-998-9938 (in the United States or Canada)
• 707-829-0515 (international or local)
• 707-829-0104 (fax)

本書の正誤表、例、および追加情報を一覧するWebページを持っている。http://bit.ly/app-inventor2 でこのページにアクセスすることができる。

コメントまたはこの本についての技術的な質問は、[email protected] に電子メールをください。

私たちの本、コース、会議、ニュースの詳細については、http://www.oreilly.comで当社のウェブサイトを参照してください。

Facebook: http://facebook.com/oreilly
Twitter: http://twitter.com/oreillymedia
YouTube: http://www.youtube.com/oreillymedia

謝辞

動機教育の視点から、App Inventorに興味を起こさせ、能動的学習によりコンピューティングは強力なアイデアの伝達手段になる。App Inventorが1960年代にシーモア・パパートの仕事とMITロゴグループで始まったコンピュータと教育の継続的な運動の一部であり、その計算思考をサポートするために設計された多くの活動やプログラムを通して今日影響持続する。

App Inventor のデザインは、コンピューター教育の先行研究とGoogleのオンライン開発環境を活用する。ビジュアルプログラミングする骨組みはMITのscratchプログラミング言語と密接に関連して、App Inventor 2の実装は、Googleで開発され、ニール・フレーザー率いるBlocklyに基づいている。Android上での実装のための視覚的なブロックの言語を翻訳するコンパイラはKawa言語フレームワークとSchemeプログラミング言語というKawaの方言。Per Bothnerによって開発、フリー ソフトウェア財団が GNU オペレーティング システムの一部として配布。

著者らは、Google と 元のApp Inventorのチームのサポートと、USF、ミルズの学院およびMITの教育努力に感謝する。特にApp Inventorのテクニカルリーダーのマーク・フリードマン、プロジェクトマネージャーカレン・パーカー、そしてエンジニアシャロン・パールとデビー・ウォラックに感謝する。

App Inventor の継続的な開発のための MIT App Inventor チームに感謝したいと思う。特に、技術的なリード アンドリュー マッキーニー、万能の第一人者ジェフ シラー、教育およびアウトリーチ ディレクターのShaileen Pokress とジョシュのシェルドン、縁の下の力持ちであり技術者のホセ ドミンゲスとキー「サバティカル」の貢献者フランクリン Turbak とラルフ ・ モレリに感謝する 。

私達はまたサンフランシスコ大学の学生Caylaシェーバーに感謝を借りている、彼女の並外れた編集作業とこの本をApp Inventor 2に変換するをヘルプ。

最後に、私達は各自の配偶者の支持に感謝する:Ellenの夫Keith Golden、Halの妻Lynn Abelson、Lizの夫Kevin Looney、Davidの妻Minerva Novoa。新しいお母さんEllenはまた家政婦Neil Fullagarの助けに感謝する。

results matching ""

    No results matching ""