お役立ちコンテンツ | フリーランスエンジニアの案件・求人なら【テクフリ】

お役立ちコンテンツ

フリーランスの抱える税金や確定申告、社会保険や経費に関するお悩みを解決いたします。そもそもフリーランスになるためにはどうすればよいのか、現在正社員で働いているが、フリーランスになりたいと考えている方々にも必見です。役立つコンテンツ満載でお届けいたします。

該当コンテンツ数4件中1~4件を表示
Kotlin

Kotlinフレームワークのおすすめ5選と特徴についてわかりやすく解説【2023最新版】

Kotlinは、「Javaをもっと簡潔・安全に」という想いから開発されたプログラミング言語のひとつです。 Javaを改良して作られた言語ということもあり、Javaとの親和性が非常に高く、Kotlinを使用している大手企業も少なくありません。 Javaは歴史が古く、多くの企業で採用されている言語ですが、流行りの言語と組み合わせづらいという欠点があります。 そのため、より簡潔なKotlinを新たに学習しようと考えるエンジニアの方がいると思いますが、 「Kotlinのフレームワークって何があるの?」 「いくつかあってどのフレームワークを使えばいいかわからない…」 といった疑問をお持ちかもしれません。 そこで、この記事ではKotlinのフレームワークについて解説していきます。最後まで読んでいただければ、どのフレームワークを学習すれば良いかわかります! Kotlinについて詳しく知りたい方はこちらの記事を参考にしてください。 Kotlinの歴史とこれからを解説 Kotlinの案件を探してみる Kotlinフレームワークとは? Kotlinフレームワークとは、Kotlinを利用して開発をする際に必要な基本機能をまとめたソフトウェアのことです。 フレームワークには、ある程度決まったルールが存在しています。そのため、誰が書いても理解がしやすいという特徴があります。 また、自分で1から書くと数百行必要なコードが、フレームワークを使うと数十行で解決するのも魅力です。 フレームワークと似た言葉としてライブラリがありますが、両者の違いは「制御の反転があるかどうか」によります。 ライブラリの場合、プログラムを動かす主導権はプログラマーが書いたコードにあります。一方で、フレームワークの場合、プログラマーが書いたコードはフレームワークによって制御されるのです。 つまり、ライブラリは主導権がエンジニア側にあり、フレームワークは主導権がフレームワーク側にあると言えます。 Kotlinフレームワークを利用するメリット Kotlinを使う上で、フレームワークを利用することにはいろいろなメリットがあります。ここでは、以下のメリットについて詳しく解説します。 開発スピードが上がる コードの統一性を保持(多人数開発にも対応しやすくなる) バグの減少 フリーランスとして仕事が取りやすくなる テスト工数を削減できる 開発スピードが上がる MVP開発やリーンスタートアップという言葉が注目されているように、IT/Web業界では特に、サービスを高速で市場に投下することが重要です。Kotlinのフレームワークを利用するのとしないのでは、開発スピードにかなりの差が生じます。 例えばKotlinのフレームワークには、Androidアプリや、サーバーの開発機能などが備わっているのですが、それらをフレームワークなしでエラー無く完成させるには、かなりの時間を要してしまうのです。 コードの統一性を保持(多人数開発にも対応しやすくなる) プログラミングに限らず全ての仕事にいえますが、コードの書き方にはその人の個性やクセがでます。 経験、スキル、年齢、性格、キャリアなど様々な要因によって差が生じるのですが、人が書いたコードを修正するのは、かなり大変な作業です。 フレームワークを利用すれば、コードの統一性を保持させることができます。 統一性を保持することにより、多人数開発にも対応しやすくなります。 バグの減少 Kotlinのフレームワークは基本的に大人数のエンジニアに利用されています。そのため、バグはすでに解決されていることが多いです。 それらのバグが少ないフレームワークを利用して開発を進めると、開発をしたプログラムもバグが少なくなる可能性が高まるといえます。 フリーランスとして仕事が取りやすくなる Kotlinの中規模、大規模以上案件では、フレームワークが利用されていることがほとんどです。 特にSpring Bootは人気のフレームワークとなっているため、Kotlinエンジニアとして仕事を獲得したい場合、習得しておくといいかもしれません。 テスト工数を削減できる Kotlinフレームワークを導入することで、テスト工数も削減することが可能です。 なぜなら、フレームワークを使って実装した箇所は、単体テストを行う必要がなくなるためです。 システム開発ではテストに多くの時間がかかってしまうこともあります。それでいてシステムの品質を高めるための重要な工程でもあるため、簡略化することは難しいのです。 特にスマホアプリはユーザーの要望や流行に合わせて何度も改良する必要があり、その度にテストを行わなくてはいけません。 スマホアプリ開発を行うなら、Kotlinフレームワークを用いて、極力テスト工数を減らすことが大切なのです。 Kotlinフレームワークを使用するデメリット 一方で、Kotlinフレームワークを使用することのデメリットは次の4点が挙げられます。 学習期間が必要 イレギュラーに対応できないことがある フレームワークに依存してしまう 選定を間違えると開発効率が下がる 学習期間が必要 フレームワークを使いこなすにはKotlinの理解がある前提で、最低でも数週間は学習をする必要があります。 概要を抑えられても、細かい要望を実現しようとすると調査に更に時間がかかることはよくあります。使用者が多くないフレームワークになると、情報量が少なく、調査が難しいこともあるでしょう。 また、ドキュメントは基本的に英語で書かれていることが多いです。 イレギュラーに対応できないことがある フレームワークはいわゆる「よくある機能」を開発する際には有用です。 しかし、前例が少ない機能を開発したい場合、対応できないことが多々あります。 フレームワークは決められたルールに則ってサービスを開発していかなければならないため、イレギュラーが多発するようなサービスではフレームワークを利用しないほうが作りやすいことがあるのです。 フレームワークに依存してしまう Kotlinフレームワークに依存してしまう、というのもデメリットとして挙げられます。 もし、フレームワークの仕様が変更にあった場合、自社のシステムもそれに合わせて変更しないといけません。 また、フレームワークに深刻なバグがあった場合、自社のシステムにも不具合が生じる可能性があります。 さらに、フレームワークがサポート終了した場合、そのフレームワークを使い続けることはできませんので、他のフレームワークに移行する手間が発生してしまいます。 このように、フレームワークに依存するデメリットがあることは事実です。 とはいえ、フレームワークによる開発工数削減のメリットも大きいので、どちらを優先するかはプロジェクト次第と言えるでしょう。 選定を間違えると開発効率が下がる どのKotlinフレームワークを導入するか、判断を誤ると開発効率がむしろ下がってしまう恐れがあります。 たとえば、小規模な開発なら制約が緩くて自由度の高いフレームワークの方が使いやすいでしょう。 しかし、大規模な開発になると、制約が緩いフレームワークはコードの書き方をチームで統一しにくく、開発効率が上がらない可能性があるのです。 Kotlinフレームワークにはそれぞれ特徴があります。 それぞれの特徴を踏まえて選定しないと、システムと相性が悪いフレームワークを導入してしまうかもしれません。 おすすめKotlinフレームワーク5選 ここからは、人気のフレームワークや、目的によって有用なKotlinフレームワークについて解説していきます。 1.Spring Boot Spring Bootは、JavaのフレームワークであるSpringを改良して開発されたフレームワークです。 Javaのフレームワークとして開発されたものですが、KotlinがJavaを改良して作られた言語であるため、Kotlinでも使用できるようになっています。 Springでは、多機能ゆえの複雑さが課題でしたが、Spring Bootではシンプルな設計が実現されており、機能の使い分けを行いやすくなっているのが特徴です。 また、XMLファイルの設定を自動で行うことができる機能なども実装されています。 >Spring Boot公式サイト Spring BootはJavaのフレームワークであるため、こちらの記事も是非参考にしてみてください! Javaフレームワークとは?おすすめの10選と選び方【2022年最新版】 2.Ktor Ktorは、Kotlinの開発元が公開しているフレームワークです。 Kotlin自体は2011年に発表された言語ですが、Ktorはリリースが2018年と新しく、現在もなおアップデートされています。 Ktorは非同期クライアントとサーバーアプリケーションを作成するためのフレームワークで、拡張性が高いのが特徴です。 また、最低限の機能のみで構成され、処理が軽量なのも大きなメリットです。 スマホアプリの動作の早さを重視したい場合にもおすすめと言えるでしょう。 >Ktor公式サイト 3.Javalin Javalinは、その名の通り、JavaとKotlinで使用可能なフレームワークです。 Ktorと同様にシンプルで、軽量である点が特徴です。 設定次第では、非同期で動かすことができるのも大きなポイントとなっています。 同期・非同期の両方で動かすことができると、スマホアプリの動作効率を高めやすくなり、ユーザーによって使いやすいアプリに改良することが可能です。 基礎的な知識さえあれば、すぐに使えるほどシンプルなので、使いやすいフレームワークと言えるでしょう。 >Javalin公式サイト 4.Jooby Joobyは、Java/Kotlin/JavaScriptで使用可能な、マイクロフレームワークです。 機能を最小限にするために、Java8以降を標準としているので、環境が古いバージョンの場合注意が必要です。(Kotlinの場合は別です) マイクロフレームワークと謳っているだけあって、最小限の機能のみで構成されており、軽量さが魅力となっています。 また、拡張性が高いのも特徴です。必要に応じて機能を追加できるため、柔軟性も高いフレームワークと言えるでしょう。 拡張性が高い分、学習コストは高いですが、使い慣れればその便利さを感じることができるはずです。 >Jooby公式サイト 5.wasabi wasabiはKotlin用に作られたフレームワークです。 wasabiの特徴は、MVCモデルを採用していないことでしょう。 MVCモデルを採用していると、役割ごとにプログラムを分けることができ、ソースの管理が容易になります。 一方で、コードの制約が増えてしまうデメリットがあり、小規模開発ではMVCモデルを採用していないフレームワークの方が、相性が良い可能性があります。 現状、他のフレームワークに比べるとwasabiはそれほど知名度は高くありません。 しかし基本的な性能も高く、アップデートが頻繁に行われているため、今後も期待できるフレームワークと言えるでしょう。 >wasabi公式サイト Kotlinの単価や記事数は? ここまでフレームワークの解説をしてきました。 では実際の単価や記事数はどのようになっているのでしょうか? テクフリに掲載されている案件を参考に以下にまとめました。 Kotlin案件の単価 弊社調べによると、Kotlinの平均単価は84.2万円、最高単価は165万円となっております。 (テクフリ調べ 2023/08/21付) Javaの単価相場と比較したいという方は、こちらの記事をご参考にどうぞ! >Javaのおすすめフレームワーク10選を紹介!【2023年最新版】 Kotlinフレームワークの記事数比較 Kotlinフレームワークの記事数を下記のようにまとめました。 2023年8月時点では、学びやすさの観点から見ると、選ぶべきKotlinフレームワークはSpring Bootであるといえます。 フレームワーク Qiitaの記事数 stackoverflowでの質問数 Spring Boot 4572 187 Ktor 214 0 Javalin 11 0 Jooby 18 0 wasabi(Kotlin) 4 0 Kotlinを使用する案件紹介 最後に、Kotlinを使用する案件の例についてまとめました。 各Kotlinの概要や求められるスキルなどについて紹介します。 Kotlin案件の例を知ることによって、Kotlinエンジニアとして働くイメージも湧いてくるでしょう。 Kotlinエンジニアを目指す方は参考にしてください。 案件名 Kotlin/Java/一部リモート/アルバイト検索アプリの継続開発対応 月額単価 〜720,000円/月 最寄駅 竹芝 業務内容 現行アルバイト募集アプリの機能追加・改修対応をご担当いただきます。 今回はSEポジションをお願いいたします。 PL経験のある方であれば単価の上振れも可能です。 【作業工程】要件定義・設計・開発・単体テスト・結合テスト 【言語】 Kotlin(一部Android Java) 【使用DB】SQLite、Realm 【バージョン管理】Git(GitHub) 基本スキル ・SE/PGとしての経験が2年以上 ・Kotlinを使用したアプリ開発の経験が2年以上 (Kotlinが2年未満でも他にモバイル開発経験が複数年あれば可) ・要件内容をもとに設計書を作成できること ・GitHubを利用し、複数名での開発ができること 案件名 Kotlin/GCP/一部リモート/新規広告システムのバッチ系開発業務 月額単価 〜880,000円/月 最寄駅 九段下 業務内容 新規開発中の広告システムのバッチプログラムまたは配信プログラムの開発以降のフェーズをご担当頂きます。 ・設計書を元にGoogleCloudのサービスを利用した開発 ・開発/単体/結合テストを担当 基本スキル ・Kotlinで基本設計から1人称で担当できること ※Javaの開発経験が豊富でKotlinを少しでも実務で触れているとマッチします ・Webアプリケーションのバックエンド開発のご経験 ※Webのバックエンド開発のため、スマホアプリだけのご経験の方ですとマッチしません ・非機能要件(大量のデータの処理)を考慮して設計と開発を進めた経験 ・クラウドサービス上での開発、設計のご経験 Kotlinの案件を探してみる まとめ 本記事ではKotlinフレームワークについて解説しました。 Kotlinフレームワークのメリット・デメリットやKotlinフレームワークの種類などがお分かりいただけたかと思います。 Kotlinは文法が易しく、開発工数を減らすことに貢献してくれる優秀な言語です。 Kotlinフレームワークを導入することで、自分達で1から機能を作らなくてすむため、さらに工数を短縮することができます。 これからKotlinフレームワークを学ぶ方には、Spring Bootが特におすすめです。 Spring Bootは機能がシンプルな点や、コード量を少なくすることができる点が初心者向きと言えます。 フレームワークをうまく活用することによって、Kotlinでの開発をより生産的なものにしていきましょう。
Kotlin

Google formとKotlinを使って、無料のハッカソン・アンケートフォームを作っていきましょう

先日、私たちは半年期のハッカソン:Carrot Wars 2018 をインスタカートで開催しました。 イベントを通してある事実、大きなギャップを知りました。今のネット上でハッカソンイベントの結果を簡単に(そして無料で)集計するサービスはありません。素敵な選択肢はありますが、料金はかなり高いです。しかも、ほとんど単一のイベントでしか対応できません。また月額課金制度も基本です。そして他の制限もあります。 最近人気のあるハカトンがどのようなものかを考えると、そこには少なくともいくつかの選択肢があると思います。もちろん私たちはリサーチをしましたが、ニーズを満たすオプションを残念ながら見つけられませんでした。 この点に対して、私の共催者は私より現実を認識していました。「今はもうイベントの2日前です! もう直前です。一からアンケート用フォームを作る場合ではありません。もっと重要なことに集中するべきです」彼はそう言いました。 彼の言う通り、私は下記の方法でやってみました。 Kotlinの案件を探してみる ソリューションの選択 Google Forms 個人的に一からアンケート用サイトを作るのが好きではありません。だから私はGoogle フォームの力をちょっと借りたいと思います。もし一気に大量の応募者に対応しなければならない場合、Google フォームはかなり役に立つと思います。Googleは良いUIを提供していますし、作る方法も驚くほど簡単です。 Kotlin script (kscript) 私が興味を持つのは”集計結果”です。私はおそらく、Googleシートに結果を出力するためにGoogleフォームを取得している可能性があります。しかし、私のExcel /シートは、私が望んだ結果を得るために必要な数学的表現を調整するのに十分強くはありませんでした。 それについて、私は数学的シート表現の代わりに単純にKotlinでスクリプトを書きました。それは私にとって自然な行為でした。さらにアンケートの結果を綺麗にプリントできました。 Kotlinを選んだ理由は二つ:私はAndroid開発者です、そしてInstacartでみんなさんはKotlinを愛用者です。面白いことにこのハッカソンを行う時ちょうどKotlinが新いバージョンをリリースした頃でした(Kotlin 1.2.50 )。 あなたがbashのようにターミナル・プロンプトでスクリプトを実行することについては非常に満足のいくものがあります。 bash syntaxの不快さと、Kotlin言語のすべての心地よさがなくてはなりません。 アンケートの流れ: ・参加者は五つのカテゴリーに参加できます。 ・イベント当日は参加者にプロジェクトのリストを送ります。そして、参加者は各カテゴリーのベストスリーを選びます。 ・Googleフォームはかなり使いやすいです。アンケートの結果を簡単にCVSフォーマットに移行できます。 ・このKotlinスクリプトはCSVを取り込み、計算も行います。それぞれのカテゴリの結果をプリントします。 ハッカソンに対するこのフォームの使い方 1.フォームを作る 私が1押しのアドオンはformRangerというアドオンです。理由は一つ、このアドオンは自動的に資料の追加ができます。 これは私たちにとって役に立ちます。ハッカソンはいつもイベント直前に応募する方々が多くいます。そのためプロジェクトリストはいつも変動が多く、それに対し、アンケート用のフォームも連動しないといけません。(Instacartのハッカソンは五つのカテゴリーがあって、各カテゴリーは30件のプレゼンテーションがあります。それは合計150件のエントリーです。)どのようにして150件のエントリーを管理するのかがとても大事なこととなります。答えはformRanger です。たった一つのGoogleシートで全ての資料を管理できます。 そしてマッチング方法はこのようになります。プロジェクトは行で、順位は列になります(多肢選択法のグリッッドのようです)。あと一つとても重要なポイントは順位に対してレスポンスは一つしかできないという事です。そうでないと一つ以上のベストスリーが発生する場合もあります。 2. Kotlin scriptのインストール こちらのハイパーリンクから、Kotlin scriptの設定方法がわかります。 # install sdkman (if you haven’t already)curl -s “https://get.sdkman.io” | bashsdk install mavensdk install kotlinsdk install kscript # alternatively with homebrewbrew install mavenbrew install holgerbrandl/tap/kscript 3. CVSフォームを作る(出力する) Googleフォームであるレスポンスボタンを押すと、綺麗なCVSフォームを自動作成しますので、簡単にダンロードできます。Googleフォームはだいたい十分ですが、私はもう少し洗練された要素を付け加えたいです。例えば、各カテゴリー(結果)についてのweightingとfiltering です。こういうプログラムを使うと本当にいろんな可能性がでてきます。 4. commandを動かす 流れは下記のようになります: kscript carrot-wars-tabulate.kts ~/Downloads/star-wars-demo-results.csv 初回(スクリプトを初めて実行すると必要な依存関係を作成するので)は少し時間がかかりますが、ご了承ください。 実際はこうなります: 気に入らない人もいますが、でもこれは私のチョイスです 4. リソース ・ Demo Google voting form(自分の好きな選択肢を選んでください!) ・Sample CSV responses file (CSV 結果ファイルの見本です) ・Google sheetused topopulate above form (内容追加のためです) ・Source repofor Kotlin scriptthat tabulates and prints out the results (Kotlin script用、フォーム作りと結果を出力する) タイトル:Free hackathon vote tabulation using Google Forms & Kotlin 作者:Kaushik Gopal 原文URL:https://tech.instacart.com/free-hackathon-vote-tabulation-using-google-forms-kotlin-3c7b7080ea Kotlinの案件を探してみる
Kotlin

Kotlinの歴史とこれからを解説

Kotlin(コトリン)は、誕生してから10年と経たない、新しいプログラミング言語です。そんなKotlin(コトリン)は今、世界中のエンジニアたちの間で注目を集めつつあります。国内で見ても、IT企業の最王手であるYahoo! JAPANが、『ヤフオク』や『GYAO』といった超有名アプリ(Android)開発で、この言語を導入しています。今後、さらに盛り上がりを見せることでしょう。今回は、そんなKotlin(コトリン)の誕生から現在に到るまでの歴史を見ていきたいと思います。 Kotlinの案件を探してみる Kotlin(コトリン)の由来、開発されたきっかけとは 2011年7月にKotlin(コトリン)は、誕生しました。開発者は主にアンドリー・ブレスラフ、ドミトリー・ジェメロフの二人。彼らは、ロシアのサンクトペテルブルグにある『ジェットブレインズ社』の研究所で、この言語の開発に取り組みました。ソフトウェア開発企業である同社は、Javaをはじめとした、数多くのプログラミング言語に対応するIntelliJ IDEA(インテリジェイ アイディア)という統合開発環境を開発した会社としても有名です。 Kotlin(コトリン)という名前の由来ですが、これは開発拠点であるサンクトペテルブルグ脇、バルト海に浮かぶ『コトリン島』にちなんで命名されたそうです。こちらの島は、日本でいう淡路島のようなもので、全長約12kmほどしかないとても小さな島です。 そもそもKotlin(コトリン)は『Javaを、もっと簡潔・安全になるように』との想いから、開発がスタートしました。 Kotlin(コトリン)はJavaよりも簡潔に書ける言語 言葉通りKotlin(コトリン)は、コードを簡潔に書くことができます。例えばJavaでは7行ほど書く必要があったコードを、たったの1行で済ますことができるものもあります。 それだけではありません。比較的面倒な、文の末尾にセミコロンが不要。そして、初期値がない変数を定義することも可能です。 エンジニアたちにとっては、非常に使い勝手の良い機能が豊富に搭載されています。専門的な用語を使うと、この言語は型推論やラムダ式,トレイトなどのモダンな文法,機能を持った静的型付けの本格的なオブジェクト指向言語です。 ただ気になるのは「なぜJavaではなくKotlin(コトリン)が必要だったのか」ということ。Javaは、リリースから20年以上の歴史を誇る、言わずと歴史あるプログラミング言語です。時間の経過とともに、ライブラリの数も豊富に蓄積されて聞きました。もちろん現在でも、世界各国のエンジニアたちに愛用されています。 一方でその歴史の古さゆえに、過去の問題点を踏まえて開発された新興言語と比べると、コードがやや冗長になるという側面もありました。そして、以前のバージョンをサポートするために、流行りの言語を取り入れづらくなっていたのです。 そんな課題を解決すべく開発が始まったKotlin(コトリン)ですが、非常に強くJavaの血を受け継いでいます。だからこそ、Javaとの親和性が非常に高いという、他の言語にはない利点を持っています。 基本的にプログラミング言語は、新しい言語を利用すると、それまで使っていた言語のソースは利用できなくなります。要するに、今まで開発してきたプログラムを、作り直すor移植する必要が出てくるのです。 その点、Kotlin(コトリン)はJavaで書いたコードを流用することができます。逆に、Kotlin(コトリン)で書いたコードをJavaで利用することもできるのです。つまりは、これまでのように、コードを書き換える必要がないのです。 それでいて、Javaよりも開発効率が高い。記述ルールが簡潔でコードがシンプルに書ける。コードがシンプルに書けると、入力の回数が減ります。それは結果的に、不要な文字などを、誤って打ち込む危険性を減らすことにも繋がります。 Kotlin(コトリン)が激しく変化する時代に残るわけ 実はこの頃のIT業界は、Kotlin(コトリン)以外にも実に様々なプログラミング言語が誕生する時代にありました。「いかに効率よく開発を進めるか」が、これまで以上に重要になってきたからです。 同言語がリリースされる1年前の2010年には、すでに、Scalaが流行り始めている状況でした。また2011年にKotlin(コトリン)が誕生した後も、Apple社が開発したSwift(2014年にベータ版をリリース)、Mozillaが開発に携わったRust(2015)など、非常に多くのプログラミング言語が生み出されています。 そしてそのほとんどが『型推論付きの静的型』の言語です。型推論とは、変数や関数の型を、エンジニア自身が明示せずとも、プログラムがそれを推論してくれることを言います。シンプルに説明すると、余計な手間が減ったということです。 現在もそうですが、その頃も「流行していたサービスが、気付くと市場から消え去っていた」なんてことが、珍しくない世の中でした。そんなことにならないために、企業やエンジニアたちは、めまぐるしく変化する状況に、素早く柔軟に対応する姿勢が求められます。 そんな中で、開発やメンテナンスに手間がかかってしまうというのは、命取りにもなるということです。つまりは、より開発効率の高いツール・環境が求められます。Kotlin(コトリン)はそんな状況かで、ある種必然的な流れとして生み出されたのでした。 Kotlin(コトリン)の成長の歴史 Kotlin(コトリン)は、かつてない速さで人気が高まっていきます。それほど広く世の中に知られるようになった要因は何でしょう。 一概には言えませんが、OSS(Open Source Software)として、開発環境とそのソースコードが、一般公開されていることが一つとして挙げられるでしょう。またその人気と実績を証明したのは、2017年5月です。あのGoogleが「Kotlin(コトリン)を公式言語に追加する」と発表しました。 それがどう影響しているのかは、調査会社のRedmonk社が発表した、プログラミング言語の人気ランキングを見ると明らかです。 同言語は元々65位からスタートしましたが、2017年の6月頃には46位に。2018年には27位まで上昇しました。近々「Javaをも超えるのではないか」とまで言われています。 今なお進化を続ける言語、Kotlin(コトリン) そんなKotlin(コトリン)ですが、現在も着々と改良が進められています。2017年11月にKotlin1.2が発表されましたが、その最新版としてKotlin 1.2.30のバージョンがリリースされています。IntelliJ IDEAのプラグインを強化するなど、機能性を高めただけでなく、細かなバグを修正しパフォーマンスも改善されました。 また、気になる国内の求人市場ですが、年々それが拡大しているようです。例を挙げるとレシピサイトのクックパッドや、名刺アプリのSansan、グルメ情報サイトRettyなど、名のある数々の企業が、Kotlin(コトリン)のスキルを持ったエンジニアの募集を開始しています。 印象としては、スピード感を重視したベンチャー系企業での採用が多いようです。応募条件としては、ほとんどがMustではなく、歓迎条件Wantとして位置付けています。歴史の浅い言語なだけに、まだまだ情報が十分とまでは言えないですが、新しい流れを掴むには、絶好のチャンスと言えます。 Kotlinの案件を探してみる
Kotlin

人気のプログラミング言語ベスト20 第15位:Kotlin

Kotlinとは 今回はある種のプログラミング言語の人気投票といえる GitHubPullRequest にて2019年1月~3月統計にて第15位という成績を収めたKotlinをご紹介いたします。 Kotlin は2017年にGoogle社が開催する開発者向け年次カンファレンス「Google I/O」にて、androidの公式開発言語となることが発表されて以来、注目度が高まっているプログラミング言語です。 その特徴は、Java仮想マシン(JVM)上で動く、Javaの後継プログラミング言語となることを目指したプログラミング言語であり、Javaとの親和性が非常に高い点です。 さらにJVM上で動作する“ポストJava言語”はいくつか他にもありますが、現在のところ、もっとも実装例が多いと思われ、着実に有力な言語へと成長しています。 Kotlin というプログラミング言語を理解していただくために、改めて、Javaというプログラミング言語について確認しておきましょう。 Javaは非常に成功しているプログラミング言語です。 例えば、独立行政法人の情報処理推進機構(IPA)が毎年発行している「ソフトウェア開発データ白書」では、日本のIT企業がシステム開発で利用したプログラミング言語の統計データが掲載されていますが、長らくJavaが利用率第一位です。 Javaの強みは、汎用プログラミング言語としてシーンを問わず利用できる点です。 Microsoftが開発したプログラミング言語であるVisual Basic(VB)で書かれたソースコードは、もちろんWindows上でプログラムとして動作させることができます。 しかし、同じソースコードをandroidに持って行っても、動作することはありません。 ところが、Javaの場合、同じソースコードがWindows上でもandroid上でもプログラムとして動作できる特別な仕組みが用意されています。 そして、その特別な仕組みがJVMです。 JVMはWindowsだとかandroidだとか本来のOSの上に展開される、Javaプログラムを実行するための特別な仮想環境です。 つまり、Javaプログラムからすると、自分がWindowsデバイス上で動作しているのか、androidデバイス上で動いているのか分からないし、気にもしなくても良い仕組みになっています。 この仕組みによって、Javaには「システムの移植が簡単」という利点が生まれ、今日の高い利用率へと繋がりました。 とはいえ、Java自体は1995年に公開されたものであり、仕様的に古くなってしまったところや、様々な分野で成功しているがために、大きく仕様変更ができず、改善が期待されながら放置されている問題点もある、という指摘がありました。 そうしたJavaへの問題意識がきっかけになり、2010年代頃からJavaのメリットである「JVM上で動作する」という利点を引き継いだ新たなプログラミング言語が登場するようになったのです。 その一つが、Kotlinということになります。 なお、Kotlinの開発を行っているのは、ジェットブレインズ社というチェコの会社です。 ジェットブレインズ社の代表的なプロダクトはJava用統合開発環境である「IntelliJ IDEA」です。 Javaの統合開発環境といえばIBMによって開発された「Eclipse」が非常に有名ですが、ZeroTurnaroundという海外のソフトウェア会社の調査によると、2016年にはその「Eclipse」からシェア率一位の座を奪うに至っています。 Kotlinは、Javaを知り尽くした企業が開発したポストJava言語というべき存在であり、現場のエンジニアファーストだからそこ注目度も高まっているのでしょう。 ところで、何度もKotlinのことをポストJava言語と呼んでいますが、この二つのプログラミング言語は“ライバル関係で両立できない存在”ではありません。 JavaとKotlinはどちらもJVM上で動作するプログラミング言語ですので、相互利用することを前提にしてKotlinは仕様を定められています。 ちなみに、Kotlinはフィンランド語で「やかん」を意味するそうで、ロゴマークもやかんをイメージしたもの、との説明を何度も見聞きしましたが、いまだに筆者にはやかんには見えません。。。 昨年の順位と比較して考察 2019年1月~3月統計では第15位だったKotlinですが、去年の同じ時期(2018年1月~3月)の統計では第16位でした。 順位的には大きな変動がありません。 考えられる理由としては、新規導入ニーズが一周した、ということが考えられます。 周りの方を見ていても、良さそうな新たなサービスが紹介されたとき、すぐに飛びつく人もいれば、他の人の状況を見てから、そのサービスを利用するかどうか判断する人に分かれますよね。 プログラミング言語にも同じことが言えます。 新たなものに対して、多少のリスクがっても良いものなら新たなプログラミング言語であるKotlinを利用したい、というスタンスの企業・案件もあれば、Kotlinの十分な評価ができるまで、実績あるJavaを使うという案件・企業もあるのです。 現状、積極的にKotlin利用を進めているのはandroidアプリ開発の世界です。 逆に、組み込み系やインフラ系のエンタープライズシステムの場合は、Kotlinの利用はあまり考えられていないと思われます。 万が一Kotlinのバグのせいで製品が動作不良を起こして、利用者が死傷した、ということにでもなったら、会社の命運すら左右しかねませんので、なかなか新技術に移行できないのです。 これから数年の間で、Kotlinを使ったエンジニアたちがKotlinへの移行を他のエンジニアにも推奨するのか、それともJavaに戻ってくるのか、あるいは、androidアプリ開発以外の分野のエンジニアたちもJavaからKotlinへの移行が広がっていくのか、気になるところです。 Kotlinは転職に強いのか ポストJava言語であり、androidの公式開発言語となっている、という注目度の高さ、さらに、比較的世代が新しく、扱えるエンジニアの数が少ない点から、転職市場においても非常に優位に立てる言語と言えるでしょう。 ただし、Kotlinを利用できるエンジニアに対して、多くの企業はJavaが利用できることも期待している、あるいは、Java/ Kotlinのような一体のスキルセットだと考えていることが多いです。 なぜならば、KotlinはJavaと互利用をすることが前提のプログラミング言語です。 もちろん、今後、Kotlinのみでまったく新たなシステムを開発していく、ということも増えていくかと思います。 しかし、まだまだ現状は「これまでJavaで作ってきたシステムに対して、Kotlinで保守改善していく」あるいは「ベースはKotlinで開発するが、適宜、過去にJavaで作ったソフトウェア資産を呼び出して利用する」などJavaとKotlinでシステムを作っていくといった、併用が基本です。 「Kotlin“が”できるエンジニア」というよりも「Kotlin“も”できるエンジニア」を求人企業が求めている傾向は非常に強いと思います。 活躍できる業種と年収 Javaは汎用プログラミング言語として様々なエリアで活躍しており、ポストJava言語であるKotlinにも、大きな可能性があります。 しかし、上でも触れた通り、現在のところ、Kotlinのニーズはandroidアプリ開発(ゲーム含む)に絞られています。 それも基本的にはベンチャー系IT企業からの募集が大多数です。 そのため、福利厚生などはあまり期待できないのかもしれません。 ただし、注目すべきは年収で、各社フリーランス向け求人サイトにて紹介されているKotlinの案件の平均単価は月90万円です。 月単価が100万円をこえている案件も少なくありません。 正社員向け求人サイトでも、提示年収が400万円から1800万円と他のプログラミング言語と比べても、非常に高年収が期待できます。 実質、1000万円以上の年収提示が多いというのは、それだけKotlin経験があるエンジニアがニーズに対して少なく、各社ともに集めるのに苦労している、ということなのでしょう。 まとめ:今後の成長に期待 すでに触れた通り、androidの公式開発言語に選ばれたことにより、一気に注目度、ニーズとも高まると同時に、転職市場においても強力な存在になったKotlinですが、今後、他の領域でもポストJava言語として広がっていくのか、目が離せません。 Java/ Kotlinのスキルセットを組むことができれば、当面の間、転職市場で勝ち組になれるのは、間違いないでしょう。 今だけ!登録で最大1,500円相当もらえるお仕事探しサービス「テクスカ」 「テクスカ」は、報酬をもらいながらお仕事探しができる新体験のスカウトサービスです。 【テクスカの4つの特徴】 1.面談するだけで、3,500円相当のAmazonギフトカードを獲得できます 2.優秀な貴方に仲間になってほしいと真に願うとっておきのスカウトが企業から届きます 3.貴方の経歴・スキルを見て正社員のオファーだけでなく副業オファーも届きます 4.転職意欲がなくとも自分のスキルが通用するか各社のCTOに評価してもらうチャンスがあります 忙しさのあまり、企業との新たな出会いを逃している… スパムのように届くスカウトメールにうんざりしている… 自分の市場価値がわからない… 社外の人からの評価が気になる… 副業の仕事が見つからない… そんなあなたにおすすめです! フリーランス案件を探す
<span class="translation_missing" title="translation missing: ja.layouts.footer.icon_back_to_top">Icon Back To Top</span>
TOP