はじめに こんにちは、今回は改めてKotlinの基本文法についてブログを書きたいと思います。何を今更と思わずに、お読みいただければと思います。 Android StudioでのKotlin開発環境の準備は前回のブログもご参照ください。 事前準備 Macをお使いの型は、Kotlinをすぐに手元で試せるようにREPL(Read Eval Print Loop)を準備しましょう。 まずは、HomebrewでKotlinのCUIコンパイラをインストールします。
IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Education & Research J
N予備校 Android アプリ は 2016 年 4 月にリリースされてから執筆時点(2022 年 8 月)まで、6 年以上に渡って開発・運用されてきました。この 6 年間で Android まわりでは新しい技術が続々と登場し、古い技術が次々と非推奨になっていきました。 この記事では、技術の変化が激しかった 6 年間で、Android チームが開発環境の改善に対してどのように取り組んだのかをまとめます。同じく技術の変化と闘っているみなさんの参考になればと思います。 アーキテクチャを整備する(2017 年 2 月 ~ 2021 年 4 月) Kotlin を導入する(2017 年 4 月 ~ 2020 年 9 月) Jetpack Navigation を導入する(2020 年 1 月 ~ 2021 年 4 月) Single Activity にする(2021 年 7 月 ~ 2021
devlove-kansai.doorkeeper.jp モブプログラミングやってきました!面白かったー。疲れたー。面白かったー。 モブプログラミングって? チーム全員(プロダクトオーナー含む)が集まって、1人だけがコードを書いて、それがスクリーンに映しだされてて、その他の人みんなでやいやい言いながらものを作っていく。というスタイル。ルールは「ドライバー(コードを書いてる人)は、ナビゲーター(周りでやいやい言ってる人)に言われた通りにコードを書く。ドライバーが自分で考えてコードを書くのはダメ。」という感じ。 やってみた 7人ぐらいのチームで、プロダクトオーナーからのお題に対してTDDで実装をやってみた。2部制でやったのだけど、第1部はKotlin + IntelliJ IDEAでローマ数字の計算を。Kotlin全く知らないし、IntelliJも全然慣れてない。第2部はJavaで自動販売機を
Photo by John Voo こんにちは。谷口です。 少し前ですが、Google I/O 2017で「KotlinがAndroidの公式言語になる」ということが発表されましたね。 Kotlinは、IntelliJ IDEAなどを開発したJetBrains社が、「Java言語をもっと簡潔・安全になるように改良した産業利用向け汎用言語」として2011年に発表した言語です。 Kotlinのコードは、Javaと同じぐらいのスピードでコンパイルされ、Java仮想マシンで動作します(このようなプログラミング言語はJVM言語と呼ばれています)。Kotlinは「Javaよりも簡潔であること」を目指して開発されているため、Javaよりもシンプルなコードで動き、人気も高まりつつある言語です。 paizaでも「Kotlinを使ってみたい」という方が増えていますので、今回は初心者でもKotlinを学べるサイ
Introduction Androidにとってアプリ設計は永遠の課題だと思います。 Activityが独特のライフサイクルを持っているのがさらに課題を複雑化します。 設計についてはMVCやMVP、MVVM、Clean-Architecture、DDDなどが最近の主流でしょうか。 上記にあがった設計手法に関しては素晴らしい記事がいくつもあるのでとても参考になると思います。 AndroidではMVCよりMVPの方がいいかもしれない http://konifar.hatenablog.com/entry/2015/04/17/010606 [ Android ] - これからの「設計」の話をしよう https://tech.recruit-mp.co.jp/mobile/android-architecture/ AndroidオールスターズでClean Architectureについて発表し
前書き coroutineはKotlin 1.1から搭載された新機能ですが、まだexperimentalなこともあってバリバリ使っている人は多くないと思われます。しかしながら、experimentalとはいえproduction readyなことは宣言されており、Kotlin 1.3ではexperimentalが外れる(予定の)ため、そろそろ学んでおいても悪くない時期になってきています。 そこで、この記事ではcoroutineを実践するにあたって抑えておくと役立つ知見を共有します。ご参考になれば幸いです! 注: この記事はKotlin 1.2.21, kotlinx.coroutines 0.22.5に基づいて書かれています。 coroutineとは何であって何でないのか coroutineとは何か coroutineとは何かを一言で表現すると、「中断可能な計算インスタンス」になります。こ
エムスリー エンジニアの岩本です。 現在私の所属しているチームでは、以前作成したアンケートを作るためのシステムのサーバサイドリプレースを検討しています。 ちなみにクライアントサイドは下記のものです。 qiita.com 採用した技術 なぜQuarkus? SQLアクセスはDoma Domaの記述方法 Quarkus + Domaで見つかった問題 設計方針はCQRS まとめ We're hiring! 採用した技術 以前のサーバサイドはJavaで作られており、再利用可能な既存の資産もあるため、JVM系の言語を検討しています。 他のシステムではKotlin + SpringBootを使っているため同様の構成も考えられるのですが、 SpringBootが開発しているうちに重くなり、起動に数十秒かかるようになり開発スピードが遅くなってしまったことや 新しいものに挑戦したいという技術者の考えを重要視
Mirrativ Androidエンジニアのmorizoooです。 Mirrativのエンジニアは週4日をプロダクト開発に、週1日を開発体験の向上に時間を割いおり、CTOによる旗振りのもと、エンジニア主導で技術的負債の返済に取り組んでます。 今回は、Androidチームで取り組んだ技術的負債の返済のために行った取り組みについて紹介します。 背景 以前、2019/04に 突撃!!隣のアーキテクチャ - connpass でもお話したのですが、Androidアプリが主に以下の理由でつらい状態なっておりました。 ロジックが散在 今ではあまり使われないライブラリへの依存 JavaとKotlinの共存 speakerdeck.com これに対してAndroidチームで以下の取組みを行いました。 ActivityとCustomViewの再設計 ライブラリの最新化 Kotlin化の推進 それぞれのトピッ
Kotlin(コトリン)は、ジェットブレインズのアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、静的型付けのオブジェクト指向プログラミング言語である。 開発経緯[編集] Kotlinは、ロシア・サンクトペテルブルクにある、ジェットブレインズの研究所で生まれた。 ジェットブレインズ社は Java、Ruby、Python などのプログラミング言語による開発環境などを開発して販売してきた。Kotlinは、同社の経験を活かしJavaをもっと簡潔・安全になるように改良した産業利用向け汎用言語として開発され、2011年7月20日に発表された。 Java仮想マシン上で動作するため、Javaで書かれたプログラムと同程度に速くコンパイルされ同程度に速く動作するとしている。 Javaに望まれている機能であっても互換性を保つために実現できていない機能や、将来のJavaの仕様で実現が予定されている機能か
……と思っていたら5ヶ月かかりました. 【基盤開発チーム ブログリレー3日目】 「ほんとうにすぐ終わると思ったのかね」 こんにちは,エムスリーエンジニアリングGの榎田です.趣味は数学とテレビゲームです.最近はタクティクスオウガ リボーンを遊んでいます.システィーナをバーサーカーで運用しているのが弊ユニオンの個人的なイチオシポイントです. 閑話休題,ソフトウェア開発において「技術的負債」はつきものです.我々は無限の開発時間が取れるわけでも,神授の智慧を持っているわけでもないので,作ったものは何かしらの要因で負債を抱え,抱えた負債は(多くの場合,知らず知らずのうちに)増えます.負債だらけになってしまったソフトウェアの保守管理は大変ですし,負債になりにくいソフトウェアを作るのも難しいです.ではどうして負債を抱えてしまうのか.負債を返すことの何が大変なのか.負債リスクを予見するのはなぜ難しいのか.
let names = ["Anna", "Alex", "Brian", "Jack"] let count = names.count for i in 0..<count { print("Person \(i + 1) is called \(names[i])") } // Person 1 is called Anna // Person 2 is called Alex // Person 3 is called Brian // Person 4 is called Jack
Kotlin 1.3 が2018年10月30日に正式版として公開されました。 それに伴い、コルーチンが stable へと昇格しました! 非同期処理を楽に書けるコルーチンですが、コルーチンの書き方はわかったものの、実際何がどう動いて何と何がどう関係しているのかといったメンタルモデルが構築されるまでよくわからないまま使ってました。 自分の理解の整理も兼ねて、自分の中のメンタルモデルを図と文で書き出してみました。 間違っているところなどございましたら、コメントなどでご指摘いただけますと幸いです。 Kotlin のコルーチンについて、多少どういったものであるかを知っている人向けになっていますので、そもそもコルーチンって何?って方はまずはこちらの記事をご覧ください。 また、本記事では CoroutineContext のことを単に コンテキスト、 CoroutineScope のことを スコープ
Swiftの強力な機能であるstaticメソッド制約の紹介と、Kotlin, TypeScript, Java, Scala, C++との比較C++ScalaKotlinTypeScriptSwift 先に結論 Swiftのstaticメソッド制約はちょっとしたシンプルな機能に見えるけど便利で深い Kotlin, TypeScript, Java で同じことをすると冗長で間接的なコードになってしまう TypeScriptのstaticメソッド注入は独特のテクニックで面白い 提示するJavaの実装は「T を new する」方法でもあるので参考にして Scala は間接的ではあるもののKotlinより良い形でかける SwiftはScalaの形をさらにより良くした形とみなすことができる C++はSwiftと同じ事ができるがわかりにくい書き方になってしまう 導入 Swiftはprotocolという
Java仮想マシンで動くプログラミング言語を開発するProject Kotlinは6月4日、「Kotlin M2 Candiate(マイルストール2候補版)」をリリースした。Kotlinは静的型付け機構を持つオブジェクト指向言語で、Javaに似た文法、Javaとの完全互換などを特徴とする。KotlinコードはJava仮想マシン(Java Virtual Machine、JVM)バイトコードおよびJavaScriptコードにコンパイルして実行できる。 Kotlinは、Java開発環境「IntelliJ IDEA」などを開発するチェコJetBrainsで生まれたプロジェクト。JetBrainsは2011年7月にKotlinを発表、2012年2月にApache Lincese 2でオープンソースとして公開している。 Kotlin M2候補版では多くのバグ修正や言語機能の改良、IDEでのJavaS
あけましておめでとうございます。新年早々おもしろツイートがバズっていました。 おっ、null安全だ pic.twitter.com/RFta3RFXxu — yuga panda (@yugapanda) 2018年1月1日 これは、ネタとしてはおもしろいんですが、 Optional について良く知らないと 「 null 安全とか言っても『Optional(2018)年』 みたいな新しい問題を生んでしまうんだな。」 とミスリーディングされてしまう可能性があります。なので、 『Optional(2018)年』と表示されること自体は問題ではなく、むしろ null 安全( null safety )のために必要である 『Optional(2018)年』は確実に防ぐことができ、心配する必要はない ということをマジレスしてみます。 そもそも何が問題なのか 今回『Optional(2018)年』と表示
この記事はKotlin Advent Calendar 2015の最終日の投稿です。 前日はyy_yankさんのKotlinのSeleniumライブラリKebabを作ってるでした。 初日はngsw_taroさんの俺とKotlinの馴れ初めと歩み 〜正式リリースに向けて〜でした。 はじめに 現在、私は社内で新規の動画系サービスのAndroid版の開発を担当しています。2015年の4月から開発しているのですが、その約1ヶ月前からKotlin導入のための検証を始め、開発開始と同時に導入を決めて開発を進めて今に至ります。この記事ではそのプロジェクトの8ヶ月間のKotlinでの開発をまとめました。この記事がこれからKotlinでAndroidの開発をする方々に少しでも役立てばと思います。 また同カレンダーにはプロジェクトメンバーによる記事もあります。 業務でKotlinを書いている僕がKotlinを
Many readers will be familiar with JetBrains’ excellent Kotlin programming language. It’s been under development since 2010, had its first public release in 2012, and went 1.0 GA earlier this year. We’ve been watching Kotlin over the years, and have been increasingly impressed with what the language has to offer, as well as with its considerable uptake—particularly in the Android community. Late l
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog 2021年11月10日・11日の2日間にわたり、LINEのオンライン技術カンファレンス「LINE DEVELOPER DAY 2021」が開催されました。特別連載企画「 DEVDAY21 +Interview 」では、登壇者たちに発表内容をさらに深堀りし、発表では触れられなかった内容や裏話についてインタビューします。今回の対象セッションは「8年続くPerlプロダクトをKotlinに書き換えた話」です。 「LINEポイント」はLINE Payでの支払いやLINEの各種サービスで貯めたり使ったりできる共通ポイントです。この「LINEポイント」を貯められるさまざまなミッションの提供や、連携サービスでの利用案内をするポータルサービスが
DeNAの多様に展開する事業や、それぞれの個性やライフステージに応じたフレキシブルな働き方、それらを受容するDeNAが根底に持つ考え方などを伝えるDeNA TechCon 2022 Autumn。ここで、株式会社ディー・エヌ・エーのAndroidエンジニアである手塚悠太氏が、『グランブルーファンタジー』推奨ブラウザ「SkyLeap」の開発を例に、リファクタリングの仕方について紹介しました。 リファクタリングはできていますか? 手塚悠太氏:それでは、「レガシーな実装を丁寧にリファクタしてモダンな実装にする技術」について、手塚悠太が発表いたします。 自己紹介です。2019年にDeNAに中途入社し、当時はMOV、現在の名前はGOですね、こちらのタクシーアプリの乗務員さん向けアプリケーションを開発していました。またタクシーフードデリバリーサービス「GO Dine」のアプリケーション開発も担当をして
Google I/O 2015!! Data Bindingのサポート出ましたね。とりあえずアレコレ触ってみた雑感を書きます。Data Bindingの使い方や機能全般に関する説明はData Binding Guide | Android Developersを参照してください。 ※Android Data Binding LibraryはまだPreview版です振る舞いやシンタックスが今後変わる可能性があるので本エントリの情報と差が出てくる可能性があります。ご注意ください。 Android SDK Platform-Toolsを更新しないと動かないぽいので注意 Data Binding Guide | Android Developers通りにbuild.gradleを設定するだけではダメだった。Android SDK Platform-Toolsも更新しないと〜 Kotlinワンチャン
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring) Webアプリケーションにおいて、マルチテナント型、つまり複数のユーザー組織がアプリケーションとデータベースを共有する構成にすることがあります。この構成の持つリスクとして、万が一バグにより他テナントの情報が見えてしまうとそれは情報漏洩となり、重大なインシデントとなってしまうことがあります。この重要性を考えると、「気を付けて実装する」だけではなく、仕組みで漏洩を防ぐような対策には価値があります。 そこで、今回はPostgresSQLの行レベルセキュリティと、SpringAOPによる処理を組み合わせて、ログインしているテナントのデータにしかアクセスできなくする仕組みを実現しました。 導入にあたり考慮した複数の選択肢、乗り越えたいくつかの壁
Googleは5月7日(日本時間5月8日未明)、米マウンテンビューで開催中のイベント「Google I/O 2019」で、Androidにおける「Kotlinファースト」をさらに強化していくことを明らかにしました。 Kotlinは、2年前のGoogle I/O 2017でAndroidの正式な開発言語になり、その後急速に開発者の人気を集めてきました。 Googleによると現在、Android開発者の50%以上がKotlinを利用しているとのことです。 そこでGoogleは、Androidにおける「Kotlinファースト」をさらに強化することを発表しました。以下はAndroid Developerブログの記事「Google I/O 2019: Empowering developers to build the best experiences on Android + Play」から。 T
Android Advent Calendar 2014 21日目の記事です。 LollipopでActivity Transitionsが追加されました。(https://developer.android.com/training/material/animations.html#Transitions) Fragmentにも無いのかな?と探してみたところ普通にありましたので,あわせて新たに追加されたTransitionの使い方をまとめます。 できるようになったこと 今まではActivity/Fragmentの遷移時のアニメーションについては、それぞれの持つView 全体 に対して効果を指定していました。 LollipopからはTransitionを用いることにより、Activity/Fragmentの 各View についてアニメーション可能になりました。 例えばViewが画面外に発散
こんにちは、NewsPicks サーバーサイドエンジニアの池川です。 NewsPicks Advent Calendar 2022 の 3 日目です。 qiita.com 昨日は、 Virtual Muto さんによる 2 日目の記事で、感想などを書きたいところですが、実は本記事を 11 月末に書いているので、当日のお楽しみにしたいと思います。 本題ですが、NewsPicks では、もともと Java で書かれていたサーバにおいて、Kotlin を全面的に採用しており、現在では Kotlin を変更しない PR はないのではというほど、 Kotlin 開発が浸透しております。 この状態を達成するための設けられた施策の 1 つで、現在も脈々と続いている、「Kotlin 知見共有会」について共有したいと思い、ブログにすることにしました。 背景 どのような会か 運営のやること 登壇者のやること
年末に kotlin に興味を持つ機会があり、自宅環境に Android Studio をいれて触ってみたのですが、 言語そのものを気にいったのもあるけど、Android Studio の kotlin 対応の出来の良さと、アプリ実装のし易さが気持ちよかったので、そのまま本格的に勉強しながら アプリを一本作ってみました。 期間は丸一月くらいですが、法事と腸炎で10日ちょっと作業できない日があったので、実質20日弱くらいの可動日数ですかね。 方眼紙マッピング - Google Play の Android アプリ もの自体は比較的簡単な構造のエディタアプリで、方眼紙状のキャンバスのセル1つ1つに、アイコンや文字を置いて色を変えて記録する為のものです。 昨年『The Witness』をプレイした際に、用途に適したメモアプリを発見出来ず、最終的に手書きのメモアプリに自分で線を引いてメモしたのを覚
Googleは2017年5月のGoogle I/O 2017で、プログラミング言語「Kotlin」をAndroidで正式にサポートすると発表した。KotlinはJetBrainsによって開発されたプログラミング言語。静的型付けのオブジェクト指向プログラミング言語とされている。この発表を受けてAndroidにおけるKotlinを利用したアプリ開発の割合が増加すると予想されていたが、その割合は2018年末にはJavaと同等のレベルに到達する可能性がある。 モバイル開発プラットフォームを提供しているRealmは最新の四半期レポート「Realm Report - Facts and Trends in Mobile Computing」において、Google I/O 2017でKotlinの正式サポートが発表されて以来、Kotlinの利用者が一気に増加したことを明らかにしている。同レポートでは、2
Kotlin – Wikipedia サーバーサイドKotlinの導入から一年が経ちましたという記事から更に2年が経過し、アプリボットではサーバーサイドにKotlinを導入してから3年が経過しています。 その間に開発中であったタイトルはリリースを迎え、安定的に運用・更新が行われるようになりました。そこで、Kotlinを導入した結果、開発者体験はどのように改善されたか、そうでなかったかを振り返ってみることとしました。 この記事はアプリボット技術研究室、室長の斎藤が、Applibot Advent Calendar 2021の5日目の記事として執筆しました。 本記事の主張 既存開発者/新規開発者にとっても学習曲線がゆるやかであるJavaの既存資産のKotlin環境への可搬性は高いIntelliJ IDEAの開発者体験の良さプログラミング言語としての細かい機能が便利になっている 学習曲線のゆるや
kotlin.connpass.comでコルーチンに関する話をしてきました。 Kotlin コルーチンを理解しよう スライドはコチラ。音声や動画が無くても大体読めばわかる内容になっていると思います。 流れ 6月末にひつじさんからお手紙がとどく 直前の技術書典4でKotlinのコルーチンを使う前に自前で実装してみるという話を書いていたこともあり、 その辺をベースにした話の組み立てでできそうな気がするということでシュッと受けた。 結果的にめちゃくちゃ大変でしたが最終形はなんとかまとまったので良かったです。 調べたことや登壇時は触れられなかったことなど 話のベースは頭の中にあったものの、コルーチンの概念そのものが一体どういうものなのかあまり深く理解していなかったこともあり、その辺の調査もしなきゃな〜と手を動かし始めるとそのままどツボへ真っ逆さま。今回話の流れや時間的に触れられなかったことなんかを
こんにちは、エムスリー エンジニアリンググループ マルチデバイスチームの藤原です。 昨年末に医師向けのスマホアプリを新たにリリースしました。 スマホアプリ向けの BFF(Backends For Frontends) も新規に開発したのですが、そこには SpringBoot + Kotlin + GraphQL なアプリケーションを採用しています。 GraphQL はチームでの採用は初めてで、私もこのプロジェクトで初めて触りました。 そのような状況だったので GraphQL 周りについては試行錯誤を重ねることとなったのですが、今回はその開発の中で見えてきた プラクティス をいくつか紹介したいと思います。 これから SpringBoot + Kotlin + GraphQL な開発をされる方の参考になれば幸いです。 ボネリークマタカ(某GraphQLの入門書*1の表紙にもこの鳥が描かれている
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads 71 Ads API 11
こんにちは!Androidエンジニアの富田です。先月KotlinのPRが一つマージされてコントリビュータになりました!実はコントリビュータになると決心して、今年の1月からKontributeをスタートしたのですが、コントリビュータになるまでになんと「11ヶ月」もかかりました。珍しい事例だと思いますので、僕のコントリビュータまでの道のりを時系列で紹介したいと思います! なぜKontributeしようと思ったのか? 昨年末に書いたKotlinを導入したお話というブログでたくさんのはてぶをいただき、もっと自分が会社に対して何かできることがないかと考えた時にKontributeが良いのではないのかと考えました。Kontributeの結果として、以下の2点がアウトプットできれば嬉しいと思い活動を進めました。 当時は社内でOSSのコントリビュータが少なかったため、Kontributeをすると刺激を与え
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く