Appleが2014年のWWDC 14で披露したiPhoneやMac向けの新しいプログラミング言語「Swift」。これまでのObjective-Cよりもモダンでシンプル、かつスケーラビリティのある言語として登場しました。
しかも、コンパイルしなくてもその場でプログラムを動作させることができるPlaygroundsが特徴的で、デバッグのしやすさに加えて、プログラミングを学ぶ上でも「書いたそばから動いてくれる」楽しさをもたらしてくれます。
2015年のWWDC15で、Swiftのオープンソース化がアナウンスされ、同年12月に実現しました。GitHub上では一般の開発者とAppleのエンジニアとの間での活発なやりとりが進んでおり、GitHubの共同創業者であるScote Chacon氏は、Appleがオープンソースのコミュニティーに積極的に参画している様子から、「近い将来、主要な開発言語に成長する」との見方を示しています。
教育とSwiftとAppleの戦略
2015年のオープンソース化のタイミングに前後して、Appleでソフトウェアを総括する上級副社長、Craig Federighi氏にインタビューをしました。その際に印象的だったのが、Swiftを設計する際、「子供たちがプログラミングを学ぶこと」を非常に意識しながら作ってきたと指摘したことです。
「ブロックベースのプログラミングは初歩として素晴らしいですが、実際の言語を手軽に学び始められるSwiftは完璧な選択肢です。子供にとって、プロが使う言語を学ぶことは非常に素晴らしいと考えています。自分のプログラムを、例えば自分のiPod touchに入れて、学校の友達に見せびらかす経験は、非常に大きなモチベーションをもたらしてくれます」(Federighi氏)
Appleが学校で注目を集めるデバイスであることを背景に、その中で自分のアプリが動くことの価値を意識している点には、納得感があります。単純に「おおすげえ」と言われればうれしいし、もっとやろうと思うでしょう。また、友人がやっている様子を見て、自分もやりたいと思うかもしれません。
Appleは、最新の数字では、スマートフォン市場のシェアを13.8%台まで落とし、85.2%がAndroidスマートフォンという状況になっています(デバイス販売台数、Gartner調べ)。その一方で、App Storeは、Android向けのGoogle Playよりも、90%多い売上を誇っています。
少ない台数で、アプリからより多くの収益を上げる体制を維持し続けるためには、デバイスが引き続き販売台数を伸ばしていくことはもちろんですが、同時に優秀な開発者がApple向けにアプリを作ってくれることが重要です。
Swiftが教育向けに活用されることは、将来のアプリ市場に対する先行投資と見ることができます。
Swift Playgrounds
Federighi氏が指摘した「教育とSwift」。とはいっても、2015年12月の段階では、MacとXcodeによって初めて学び始められる点で、まだまだハードルが高いというイメージがありました。
巷にはScratchなどのブロック型プログラム環境があり、こちらは手軽さがあります。2015年12月に行われたプログラミング普及のためのワークショップ「Hour of Code」では、Appleも、Scratchをウェブ上で実現するブロック型の言語を使った授業を展開していました。
Googleは、「Blockly」というブロック型のプログラミング要素を組み込むことができる環境をプロモーションし始めています。たとえば、ロボットを操作するアプリを開発した際、その操作をアプリ内でプログラムできるようにすることができます。
プログラミングの初歩や、平易な用途は「ブロック」という方向性に統一されつつある中で、Appleは2016年6月のWWDC16で、別の答えを出しました。それがiPad向けアプリ、Swift Playgroundsです。
Swift Playgroundsは、ちょうど電子書籍リーダ&ストアアプリのiBooksと同じように、教材をダウンロードして、学ぶことができるアプリ。このアプリで最大の発明は、予測変換(入力)のUIを駆使して、タップしながらコードを入力することができるエディタでしょう。
プログラミングをブロックではなく、初めから文字で行いながら、タイピングの労力をなくすことで、プログラミングの「景色」や「構造」に集中しながら取り組むことができます。
実際にPlaygroundsを試してみた
筆者が副校長を務めるプログラミング必修の通信制高校、コードアカデミー高等学校(http://code.ac.jp/)で、Swift Playgroundsに生徒とともに取り組んでみました。生徒には開発者アカウントもしくはベータ登録をしてもらい、授業内での共有を行いました。また筆者はAppleからiOS 10に関する情報開示を受けて記事化しています。
生徒たちは、普段のパソコンではないタブレットでの初めてのコーディングとなりましたが、入力方法が予想以上に簡単で、アルゴリズムを考えることに集中できる、といったフィードバックがありました。
iPad Proのような物理的なキーボードがなくても、使える関数をタップして選んだり、ドラッグしてループの中身を編集する「スマホ・タブレットらしい操作方法」でのプログラミングは、快適に感じられたようです。
実際に筆者もSwift Playgroundsに取り組んでみましたが、繰り返しの回数を入力する部分でも、キーボードではなくダイヤルのUIが登場するなど、非常に直感的な操作を実現している点で、驚きました。
また、教材はXcodeで編集可能であるため、教える側も、Macさえあれば、目標に即したコンテンツを作ることができるようになります。
この連載の記事
-
第264回
スマホ
ライドシェアにシェアバイク、これからの都市交通に必要な真の乗り換え案内アプリとは? -
第263回
スマホ
Amazonが買収したスーパーマーケットで生じた変化 -
第262回
スマホ
日産「はたらくクルマ」でみたテクノロジーでの働き方改革 -
第261回
スマホ
WWDC19で感じたのは、体験をもとにアップルがサービスの整理整頓を進めているということ -
第260回
スマホ
LoTで、いかにして世界から探し物をゼロにできるか?:Tile CEOインタビュー -
第259回
スマホ
ファーウェイ問題で感じたテクノロジーと国家対立の憂鬱 -
第258回
スマホ
スマホでの注文が米国でのスタバの役割を変えた -
第257回
スマホ
10連休に試したい、ゆるやかなデジタルデトックス -
第256回
スマホ
人によって反応が異なるドコモの新料金プラン -
第255回
スマホ
「平成」と「令和」 新元号発表の瞬間の違い -
第254回
スマホ
Adobe Summitで語られたAdobe自身のビジネスや開発体制の変化 - この連載の一覧へ