今回は、作成したプログラミングコードをITエンジニアのコミュニティーであるGitHubにオープンライセンスで公開するとともに、世界中のプログラマーレビューしてもらう仕組みである「GitHubPullRequest」のシェア率で2019年1月~3月統計で第13位にエントリーされたSwiftについて見ていきます。
SwiftはAppleが開発したプログラミング言語です。
毎年、Appleが開催している開発者向けのカンファレンスである、“Worldwide Developers Conference”(ワールドワイド デベロッパーズ カンファレンス、略称:WWDC)にて、2014年に発表されました。
Appleが開発したプログラミング言語ということもあり、現在、iOSを搭載したiPhoneやiPad向けアプリ開発において利用頻度の高い、主要プログラミング言語となっています。
Swiftを言語的に分類するとC言語から始まるC系言語の系譜に連なります。
いままで使われてきたObjective-C、そして、Objective-Cのご先祖であるC言語と共存(混在)できるようになっています。
ただし、SwiftとObjective-Cの共存はまったくのフラットでボーダーレスというわけではありません。
詳しくはObjective-Cの記事を参考にしていただきたいのですが、Objective-Cの記述方法が、数あるプログラミング言語の中でも相当、特殊なものというのもありますが、世代が異なるため設計思想にズレがあるのです。
また、Swiftは2014年に発表された若い言語であるため、まだまだ“こなれていないプログラミング言語”という批判もあります。
そういった理由から、古参プログラマーの中には敢えてSwiftを使わない、という選択する方もいるそうです。
そのため、2019年で公表されてから5年になりますが、思ったよりもObjective-CからSwiftへの移行が進んでいない、という評価を下す方が多いです。
2019年1月~3月統計で第13位だったSwiftですが、一年前の2018年1月~3月の統計でも第13位でした。
ただし、シェア率では2018年1月~3月の統計では 0.896% なのに対して、2019年1月~3月の統計だと 0.779% に下がっています。
実は同じ期間で比較すると、同じくiOSアプリ開発に利用されてきたObjective-Cも順位、利用率共に引き下がっています。
これにはいくつかの理由が考えられます。
理由の一つ目としては、iOS搭載機器、つまりはiPhoneやiPadの新機種の販売台数が伸びず、結果、iOS向けアプリ開発自体、減っている、という点です。
世界的にみると、2019年現在、スマートフォン市場におけるiPhoneのシェアは15%もないと言われています。
つまり、スマートフォンユーザーのうちiPhoneユーザーは10人のうち1人、2人、ということです。
iPhoneのシェアが高いと言われてきた日本でも、2018年に、androidにシェア率トップの座を明け渡しています。
2019年3月のデータによると、日本国内のスマートフォン市場におけるiPhoneのシェアは約4割だそうです。
みなさんが思っている以上に、最近のiPhoneは売れていないのです。
そして、このようなiPhoneの販売不振がIT業界にも波及した、ということが考えられます。
つまり、androidアプリの開発がより重視されるようになったのに対して、iOSアプリの開発が軽視されるようになった、ということです。
10人のうち7人か8人使ってくれるかもしれないアプリの開発と、1人、2人しか使ってくれないアプリの開発、どちらを重視するかと訊かれたら、迷わず7、8人使ってくれるアプリを選ぶでしょう。
理由の二つ目としては、テクノロジーの発達により、iOSアプリの開発にSwiftやObjective-Cが必ずしも必須ではなくなった、という点です。
「Appleの標準開発言語であるSwiftやObjective-Cを使わなければ、iOSアプリの開発って無理じゃないの?」と思っていた方も多いでしょう。
しかし、実はそうではありません。
Microsoftが2016年に買収しましたXamarin(ザマリン)という、クロスプラットフォーム開発環境の開発を行っていた企業の技術を使えば、SwiftやObjective-Cを使う必要はないのです。
そもそも、クロスプラットフォーム開発環境とは、簡単に言えば、プラットフォーム(ここではOSと同じ意味です)を超えた開発が可能にする環境です。
もっと具体的に言えば、いままでは、androidアプリはandroid用の開発環境と開発言語で開発し、iOSアプリはiOS用の開発環境と開発言語で開発していました。
しかし、Xamarinを使えば、一つのプログラムをandroidアプリとしてもiOSアプリとしても利用できる夢のような技術なのです。
このXamarinはMicrosoftの統合開発環境であるVisual Studioに実装されており、Visual Studioの対応プログラミング言語を使ってiOSアプリを開発することができるようになったのです。
なお、Visual Studio対応プログラミング言語としては、PythonやC#、C++などが挙げられます。
むしろ、SwiftやObjective-Cは含まれていません。
この結果として、半ばiOSアプリ開発専用プログラミング言語となっているSwiftやObjective-Cに見切りをつけて、Pythonや他のC系言語に移行するiOSアプリ開発者が増えた、という訳です。
2017年くらいから、SwiftやObjective-C離れがじわじわと起きている、という噂がありましたが、その傾向が目に見える形になってきた、と言えるのかもしれません。
求人という意味では、Swiftを扱える人材の募集は転職サイトでもフリーランス向けサイトでも、一定数が掲載されていました。
日本ではiPhoneのシェアが高いということもあり、海外に比べて求人が多いのかもしれません。
ただし、他の主要言語、例えばJavaやPythonは汎用言語として様々な分野にて利用されているのに対して、SwiftはiPhoneアプリ開発案件しか基本的にはないので、“潰しが効かない”、もっというと“あまり求人先を選べない”という印象はあります。
はっきり言ってしまうと、数年前までならば、日本国内におけるiPhoneのシェア率の高さと、iOSアプリ開発の標準開発言語という特別な立ち位置から、間違いなく、Swiftは転職活動で有利になるプログラミング言語でした。
しかし、昨今は、Swiftがもっていた強みが薄れてきており、他のプログラミング言語に比べて転職活動で不利になるプログラミング言語とまでは言えないものの、他のプログラミング言語より有利になる、というものではなくなりつつあります。
なお、同じくAppleの標準開発言語であるObjective-Cの知識を求められることも多いです(Swift/Objective-Cとまとめた求人案内にしているところも多い)。
すでにお伝えした通り、Swiftの利用が減っているようですが、転職者向け求人サイトでの提示年収は概ね、年収400万円~1200万円と実は年収は他のプログラミング言語と比べて安い、ということはありません。
むしろ、Javaなどと比べると下限が高いくらいです。
フリーランス向け案件紹介サイトでも、50万円~180万円と、やはり他のプログラミング言語よりやや高いです。
理由としては、登場して約5年と短いため、Swiftの経験者がニーズに対して求人市場に足りていないことが挙げられます。
そういう意味ではSwift経験者が転職を考えているのであれば、「今がチャンス」と言えるのかもしれません。
業界ですが、基本的にはiOSアプリを開発しているIT業界、ゲーム業界がメインです。
ただし、iOSアプリを自社開発している非IT業界からの案件紹介なども僅かながらあります。
すでに何度も書いた通り、Appleが開発したAppleの標準開発言語のSwiftですが、iPhoneの出荷台数の伸び悩みと、標準開発言語を使わずともiOSアプリの開発が可能になったことが、その先行きに暗い影を落としています。
Swiftを悪い言語だとは思いませんが、初めてプログラミング言語を学ぶのであれば、Swiftよりも、PythonやJavaScriptなどをおすすめしたいです。
すでにSwiftを身に着けている方も、今後のことを考えて他の言語、例えばPythonやC#などの習得を進めておくことをおすすめします。