ComputerworldとCIO Magazineは 2023年5月23日で閉鎖しました。 長らくのご購読ありがとうございました。 日経クロステック TOPページ
先日、Kyash のAndroidアプリのUIテストをEspressoで書いてCIで回すようにしました。 ユーザー登録、ログイン、カード登録のテストが、毎晩元気に走っています。 きっかけはKPTです。iOSでログイン直後に発生するユニットテストでは気づけない問題が見つかり、 Problem として上がってきました。 テストケースを15項目くらいSpreadSheetにまとめていて大きなリリースの時は手動で確認していたのですが、なぜか「今回はやらないで大丈夫」と判断した時に限ってバグが発生するんですよね。また、手動のテストケースはミスや形骸化しやすいので、 Try としてテストケースの一部を自動化してみることにしたのでした。 Espressoでテストを書く時は、@sumio_tymさんの素晴らしい資料があるので、下記2つを読んでおけば間違いないと思います*1。 DroidKaigi2017
『メルカリ』 アプリの画面描画を高速化する技術、バックエンド・iOS・Androidの基本設計 多くのユーザーに愛されるフリマアプリ『メルカリ』ですが、そのスムーズな画面描画はどのような技術で生み出されているのでしょうか。同アプリの高速表示の秘密を、バックエンド、iOS、Androidの3方向からメルカリ社のエンジニア4人に聞きました。 バックエンドの高速化を支える技術 【Tips1】 画像のファイルサイズを最適化し、アプリ全体の通信量を抑える 【Tips2】データセンター間通信のレイテンシを抑える 【Tips3】アプリのありとあらゆる挙動を常にモニタリングする iOSアプリの高速化を支える技術 【Tips4】Objective-CからSwiftへの移行 & アーキテクチャの刷新 【Tips5】『UIStackView』を活用し、UIの描画をより滑らかにする Androidアプリの高速化を
たまには飯テロじゃない画像をトップにしようと思いました。 (土善旅館のはなちゃんです) さて、私が Android アプリケーションを作るときの DI コンテナとして、最近は Kotlin で書かれた、Kotlin のために提供される KOIN という DI コンテナを好んで使っています。 beta.insert-koin.io 今回は私が KOIN を使う理由を説明しながら、KOIN の特徴についてほんの少しご紹介します。 様々なプラットフォームの入門が提供されている どんな道具を使うにしても私達はまず Getting Started に目を通すことになりますが、KOIN はその最初に目を通すドキュメントとして、さまざまなプラットフォーム用の手引き書を提供しています。 beta.insert-koin.io Android アプリ AAC ViewModel を使った Android ア
本記事は許可を得て以下の記事を翻訳したものです。 MVP for Android: how to organize the presentation layer MVP(Model View Presenter)パターンは、有名なMVC(Model View Controller)から派生したもので、Androidアプリケーションにおけるプレゼンテーション層を整理するために最も人気のあるパターンの一つだ。 この記事は2014年4月に公開して、それからずっとよく読まれ続けている。そのため、この記事を更新して疑問点の多くを払拭し、コードをKotlinに変更した。 記事公開当時からアーキテクチャのパターンには大きな変化があり、例えばアーキテクチャコンポーネントを用いたMVVMが出現した。しかしながら、MVPは現在も効果的で、考慮すべき選択肢の一つだ。 MVPとは何か? MVPパターンは、ロジック
Too Long; Didn't Read<a href="https://hackernoon.com/tagged/vue-js" target="_blank">Vue.js</a> is a great framework! It has a friendly learning curve and combines the best of React’s component approach and Angular’s templates. Despite all this, Vue.js still has a limitation that could be a deal breaker: unlike with React’s <a href="https://hackernoon.com/tagged/react-native" target="_blank">React
一日一善という感じで毎日ちょっとずつI/Oのキャッチアップをしていて、今日はSlicesのCodelabをやってみた。 Creating Android Slices Codelabめっちゃ簡潔で、ゆっくりやっても40分くらいで終わると思う。ところどころコードが間違ってたりするのはご愛嬌。 概要はCodelabをやればだいたいわかると思うのですごい雑にまとめると、アプリのコンポーネントを外部のアプリやNotificationなんかから簡単に呼び出せるようにする仕組みだった。UIつきのAPIみたいな感じ。 やってみたらわかるけど、これはかなり激アツである。今までSDKにして切り出して組み込んでもらわないといけなかった部分が、コンポーネントに紐づくURLを作るだけで外部から使えるようになる。 今所属しているKyashのアプリとかなり親和性高いなと思った。Googleアプリの検索結果にも表示され
This has happened to me so many times! I have a new idea for an app or some awesome component, I want to get started as fast as possible, but of course I also want to do it right from the beginning. I end up spending a few hours setting up tests, app structure, linter etc., constantly thinking about that one feature I wanted to create… So much time lost on such obvious, repeatable actions! I got t
2018-03-27プラットフォームをまたぎブレない仕様を実現するための、ネイティブアプリ開発施策こんにちは、開発本部の高井です。オンライン診療アプリ「CLINICS」のアプリ開発を主に担当しています。 CLINICS では Web に加えて、iOS 版と Android 版の各プラットフォームの仕様変更や機能追加などをほぼ同時に開発しているのですが、担当する人数が増えたりすることで、仕様に差が出たり、その結果手戻りが起きるということも増え始めていました。 そうした課題を解決するために実践した様々な施策の中から、特に有効だった 3 つの改善策について、今日はご紹介します。 背景CLINICS の開発チームでは 5 人ほどのエンジニアがタスク単位で全てのプラットフォームを実装したり、大きいタスクの場合はプラットフォーム毎に別の開発者が担当する形で開発しています。 そのような形で機能追加や不具
DroidKaigi2018で『コードで見るFlutterアプリの実装』というタイトルで話をしてきました。 speakerdeck.com 聞きに来ていただいた皆さん、資料を読んでフィードバックをくれた皆さん、運営の皆さん、発表前に場を温めていただいた @mhidakaさん、ありがとうございました。 スライドだけだと話がわかりづらいところもあると思うので、書き起こし形式で補足しておこうと思います。当日用のスライドを一部削ったり、アドリブの台詞を省いたりはしています。 ちなみにこのやり方は、@yanzmさんが去年、今年にやっていてとてもよいなぁと思ったので真似させていただきました。 コードで見るFlutterアプリの実装 今日はFlutterアプリのコードの話をします。Flutter自体の内部の詳しい実装ではなく、Flutterでアプリを作る時にどうコードを書くのかという話です。よろしくお願
Strategien, Taktiken und Muster der Legacy-Ablösung
前回に引き続き、スピーチ原稿と合わせて公開します。 (講演ではアドリブもあるので原稿とは微妙に異なることをご了承ください) 追記 : 前回の内容を読んでいない方は、先にそちらを読んでください。 前回の Droid Kaigi で私は「ドメイン駆動設計とは何か」という話をしました。 本当は前回のCfPを出す時点でAndroidアプリ開発での実装の話もいれようかなと思っていたのですが、ドメイン駆動設計が何かをきちんと説明するだけでいっぱいいっぱいでした。 今回は前回の続きなので、簡単に前回の復習からはじめます。前回の話の完全版は私のブログに書いてありますので、ぜひ読んでください。 前回の説明を復習すると、ドメイン駆動設計とは ドメインエキスパートの言葉を観察し、ドメインを構成するユビキタス言語を見つけ、 ユビキタス言語を使ってドメインを適切に反映した我々のソフトウェアに役立つドメインモデルを作
DroidKaigi2018が来週に迫ってきましたね。 自分もコードで見るFlutterアプリの実装というテーマで発表します。 その題材として、DroidKaigi2018のiOSアプリを作りました。コードも公開しています。 github.com 作った理由は、以前の記事に書いたとおりです。 また、公式アプリではないですが今年はiOSアプリも用意したいなぁと思っています。iOSDC2017に参加した時にAndroidアプリが欲しいと思ったからです。 まだ申請中なので間に合うかどうかわかりませんが、iOS端末がメインの方に使っていただけると嬉しいです。 DroidKaigiの発表では、時間の都合上Flutterの基本的な部分の説明は省くつもりなので、ここで簡単にまとめておこうと思います。 Flutterとは Flutterは、iOS / Androidで動くアプリを作れるクロスプラットフォー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く