今回のSBCast.では、日本App Inventorユーザー会の 多田丈晃さんをお招きしてお話を伺いました。
日本App Inventorユーザー会はGoogleが開発しマサチューセッツ工科大学が運営をするアプリケーション作成環境App Inventorの情報を集積発信するユーザーコミュニティ。
多田さんはその他にも、Appathonのサポートなど、App Inventorに関するさまざまな活動を実施・計画しています。
App Inventorとは
App Inventorとは、画面上に様々な部品を組み合わせて画面を作り、 その処理をブロックを組み合わせる形で表現しながらアプリケーションを作成することができる、 いわゆるビジュアルプログラミング環境の一つです。
ここで作成したアプリケーションは、 実際にスマートフォンに入れて利用するということが可能です。
アプリケーションを実際にスマートフォンの中に入れて、 一般的なアプリケーションと同様開発環境以外で扱うことができる環境はAndroidだけとなりますが、iPhoneにもアプリケーションの開発実行環境をインストールすることは可能であるため、ある程度動作がどのようなものなのかを確認するということは可能になっています。
他のビジュアルプログラミング環境との違い
同じようにブロックを使うことで処理を表現するプログラミング環境としては、 ScratchやCode.orgなどの環境があります。
これらの環境については、SIDE BEACH CITY.でも以前、 いくつか講座で取り上げました。
こちらは実際にスマートフォンやパソコンに入れて扱うことができるアプリケーションを作成することはできず、 あくまで画面上のアニメーションや画像を楽しむためだけのものでした。
これに対し、App Inventorは現状Android向けのみという制約はありつつも、 スマートフォンに実際にアプリケーションとしてインストールし、利用することができるアプリケーションを作成することができるという環境です。
実際どのようなアプリケーションを作れるのかは、 高見が以前Android Bazaar and Conferenceに出展した際、アプリケーション例として見せた動画がありますので、 こちらも参照してみていただければと思います。
ビジュアルプログラミング環境の利点
このような環境で、既存のプログラミング言語では起こりがちな様々な問題があらかじめ排除されています。
それは、その場面その場面で使える部品がある程度限定されているため、 理解が完全でない状態でも間違った選択を選びづらいようになっているということ。
そして、キー入力が少ないことからタイプミスなどによる分の間違いによるトラブルを最低限に抑えることができるということ。
プログラミングを行っている場合、タイプミスや文の勘違い、入力間違いなどにより、 構文エラーでプログラムが実行できないという問題はちょくちょく起こります。
これらの問題をあらかじめ排除することによって、 プログラミングが初めてという人も集中力を欠くことなくプログラムを作成することができるというのが App Inventor の利点の一つと言えるでしょう。
できることの組み合わせが有限なため既存の他のプログラミング環境に比べるとできることが少ないものの、 それでも日常的にスマートフォンを使って感じる不便のいくつかを解消することができる。そのようなアプリケーションを作成することはできると考えています。
個人的には、このように既存のプログラミング環境を使わないプログラム環境を多くの人が使うことによって、 もっとスマートフォンを身近に感じることができる人が増えるのではないかと思っています。
プログラミングをきっかけとした新たな学びの機会
その他にも、多田さんは Appathon というイベントの紹介も行っていました。
Appathon とは、 App Inventor を使ったアプリケーションのプレゼンテーションやアプリケーションの制作、 そしてアプリケーション発表など様々な工程を含むコンテスト。
この Appathon をきっかけとして、プログラミングだけでなく、 プレゼンテーション能力や英語などの多言語の言語力、語学力を身につけるといった話も紹介されていました。
プログラミングには非常に多くの工程が存在し、 その時々に必要とされる技術・知識は異なります。
一般的に思われているように数学の知識が必要な時もあれば、国語の知識が重要になる時も、国語や表現力に関する能力が求められる時も、 英語力が必要になる時もあります。
このため、プログラミングの工程を通して、様々な分野の知識をある程度以上に学ぶ必要があるのです。
ただ、始めから全ての知識が要求されるというわけではないため、ただ勉強するだけよりも、なぜその知識を身につける必要があるのかを理解してから学べる。
Appathonを通してプログラミングそのものだけでなく、英語や国語力、数学力、様々な知識・技術を身につける。そんなこともできるのではないかと、 今回多田さんもお話しされていました。
ITツールの活用を通して他分野の学習の必要性に気付く
高見としても、ここ最近 翻訳ツールを使って英語圏の人にメールを書くという機会が増えています。
しかし、そこで初めて、自分自身も英語をしっかり学ばなければいけない という必要性を感じることができたということがあります。
翻訳ツールは、日本語の文章を英語に変換することができます。
ただし、ものによっては、翻訳ツールの誤解釈やこちらの表現不足により、本来伝えるべき言葉が漏れてしまったり、 誤解を生む表現になってしまうというようなことも起こり得ます。
そのような時に、ただ翻訳ツールをもう一度使って英文を書き直すのではなく、直接英文自体を書き換えたり、 どこを直せばいいのかおおよその判断をするためには、自分自身に英語の知識が必要である、 ということを感じました。
このように、様々なITツールの支援がある今だからこそ、あらためて自分自身に知識が必要であるということを感じる機会が増えたのではないかと私高見は思っています。
プログラミングについても、 昨今のプログラミングは、ツールがある程度支援を行ってくれます。
だからこそ、必要性に気づきやすくなる、 という可能性もあるのではないかと私高見は感じます。
まずは、App Inventorを使って、プログラミングというものにざっくりと触れてみること。
そして、もしその分野に向いているのかもと思ったのであれば、その先もっと実用的な言語を学び、実際のプログラミング技術を身につけていくこと。
そのような技術の身につけ方も、 今はあるのではないかと、私高見は思います。
その入り口として、まずはApp Inventorを使ってみて、何かのアプリケーションを作ってみる。
そのような体験から、IT利活用の道を探っていく、 というのも良いのではないでしょうか?
もし、それでも取っ掛かりが見つからないという時は
それでも取っ掛かりの知識がまだ身につかない。誰かの支援が欲しいなというような時は。
ぜひどうぞ、SIDE BEACH CITY.にお声をおかけください。
どのようにプログラミングを学べばいいか、 どのようなアプリケーションを作れば実力が身につくのか。
様々なアドバイスができるのではないかと思います。
ぜひお気軽にSIDE BEACH CITY.のお問い合わせフォームまでご連絡ください。