STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

iOS/Androidアプリ

Android処理切り替え大全

はじめに STORES 決済 のAndoridアプリを開発している id:n-seki です。 突然ですが、Androidアプリ開発をしていると何かしら「処理を切り替えたく」なることって多くないですか? 「debuggable = trueのときだけXXしたい......」 「バリアントAでビルドした…

Compose Compiler Metricsを使った実践的なコードレビュー

はじめに こんにちは、STORESの @tomorrowkey です。STORESでは STORES ブランドアプリ の開発を行っています。 4月19日に開催された Ebisu.mobile #5〜モバイルアプリの品質改善どうしてる?〜 でお話しした「Compose Compiler Metricsを使った実践的なコー…

Ebisu.mobile 5〜モバイルアプリの品質改善どうしてる?〜を開催しました

2024年4月19日に『Ebisu.mobile #5〜モバイルアプリの品質改善どうしてる?〜』を開催しました。 hey.connpass.com Ebisu.mobileとは、恵比寿周辺で働くモバイルアプリエンジニアが日々の開発で得られた知見を共有する勉強会です。平日のランチタイムにオン…

モバイルエンジニアが役割を超えて開発に挑戦している話

こんにちは。 STORES ブランドアプリ のチームで iOS エンジニアをしている榎本(@enomotok_)です。 今日は、私の所属しているブランドアプリのチームで、モバイルエンジニアがバックエンドの開発に取り組んでいる事例について紹介します。 チームの状況 現在…

STORES は try! Swift Tokyo 2024に参加しました!みんなの感想ブログ

STORES は try! Swift Tokyo 2024 に参加&スポンサーをしました! こんにちは! STORES レジ の開発をしている iOSエンジニアの @satoryo056 です。 try! Swift Tokyo 2024 お疲れさまでした!STORES は BRONZE および DIVERSITY & INCLUSION スポンサーとし…

Dokka移行でちょっとだけつまずいた話

こんにちはこんばんは。STORES のn-sekiです。 STORSE 決済 というサービスのAndroidアプリ/SDKを開発しています。 本記事ではアプリではなく、SDKでの開発トピックを取り上げようと思います! このSDKは決済 SDKと呼んでいて、モノとしてはAndroidライブラ…

STORES ブランドアプリ の iOS チームで一ヶ月のインターンに参加しました!

こんにちは、Megabits です。今年の二月に STORES ブランドアプリ の iOS チームでインターンに参加しました。この一ヶ月でやったことと感想を皆さんに紹介したいと思います。 この後特にアクセシビリティ関連の私の経験談もいろいろ書きました。インターン…

Jetpack Compose の Padding vs Spacer

Padding を使うのか Spacerを使うのか こんにちは!STORES 決済 Androidエンジニアのみっちゃんです! JetpackComposeでUIを作るときに、Composable同士の間に余白を置きたい時はpaddingやSpacerを使って実現できます。 最近、STORES 決済 Android アプリで…

STORES モバイルだより 2023冬号

こんにちは、STORESでモバイルエンジニアをしている @tomorrowkey です。 2023年もおわりに近づいてきたので、今年のSTORES モバイルだよりをお送りしたいと思います。 半年くらいのペースでだしたいところだったのですが、前回 のおたよりから1年も経ってし…

チキチキSwiftData入門

この記事は STORES Advent Calendar 2023 の29日目の記事です。 はじめに こんにちは、 STORES レジ iOSエンジニアmonolithic-adamです。 今日は誕生日の祝いでアドベントカレンダーの記事を書いています! 最近SwiftDataを遊んでみる時間作って、軽くSwiftD…

モバイルアプリのリリースから振り返る STORES 決済 の 2023年

師走!! こちらは STORES Advent Calendar 2023 の 28日目の記事です。 product.st.inc 年末ですね! さて、去年も年末に モバイルアプリのリリースから1年を振り返ったので 今年も振り返ります。 ということで、こんにちは! STORES 決済 モバイルチームの…

新しいGoogle Play Developer APIを使えるようにする方法と誰もハマらない罠

この記事はSTORES Advent Calendar 2023の14日目の記事です。 こんにちは、@tomorrowkey です。 STORES ブランドアプリでは、オーナーさんのアプリを作成しリリースの管理まで担っています。 全アプリを手作業でやっていてはコストがかかりすぎるので、Andro…

年末に向けた大掃除 〜Androidアプリのライブラリバージョンアップ〜

こんにちは、モバイルアプリエンジニアのnekoです。 今回は STORES ADVENT CALENDAR 10日目の記事として、先日行ったKotlinを始めとしたAndroidアプリのライブラリバージョンアップの話を書きたいと思います。 概要 まず、概要として、主なバージョン変更箇…

Dockerを利用してiOSアプリのモックサーバーを作る

こんにちはnekoです。 さっそくですが、皆さんはモバイルアプリ開発の中で、以下のような状況が発生した時、どのようにモックデータを作っているでしょうか。 アプリ側の画面要件はだいたい決まっている しかし、APIの開発を待つ必要があり、アプリの開発を…

NavigationView -> NavigationStackにしてみた話

Intro こんにちは!STORES株式会社STORESレジの開発メンバーAdamです!最近 後夜祭 iOSDC 2023で発表した「NavigationView -> NavigationStackにしてみた話」のブログです!見逃した人ぜひ読んでみてね〜 背景 レジアプリがiOS16のみでNavigationViewを使っ…

レジのリリースフローを見直しました

はじめに STORES レジ アプリのエンジニアをしている @nekowenです。今年の6月に STORES へ入社して4ヶ月が経ちました。 この記事では、私が行なったレジアプリのリリースフローの見直しについて内容や背景と共に紹介します。 以前のリリースフローについて …

Google Play Developer Accountを統合しました

こんにちは @tomorrowkey です。 STORES はいくつかの会社が集まってできた会社という経緯から、それぞれの組織のGoogle Play Developer Accountを持っており、それらをそれぞれの部署によって管理してきました。 一方で先日Google PlayからApp Storeと同様…

iOSDC Japan 2023 参加レポート & STORES ブースに遊びに来てくれたみなさまありがとうございました!

こんにちは、技術広報のえんじぇるです。iOSDC Japan 2023 お疲れさまでした!STORES からは総勢15名で参加しました。このブログは参加したみんなで書いています。 プロポーザル提出編 STORES では毎年みんなでプロポーザルを提出しよう!という活動をしてい…

STORES はDroidKaigi 2023にGOLDスポンサーとして協賛します

こんにちは、技術広報のえんじぇるです。 STORES は9月14日〜16日に開催されるDroidKaigi 2023にGOLDスポンサーとして協賛します。この記事では、スポンサーブースやノベルティについて紹介します。 STORES メンバーとお話しましょう! DroidKaigiには11名の…

STORESはiOSDC Japan 2023のスポンサーをします!

こんにちは。 CRM 事業部門で iOS エンジニアをしている榎本 ( @enomotok_ ) です。 きたる9月1日(金)から3日(日)までの 3 日間、 iOSDC Japan 2023 が開催されます。iOSDC は iOS アプリ開発やその周辺技術に関わるエンジニアのための技術カンファレンスで…

Android版 ブランドアプリでアプリデータのバックアップ・リストアに対応しました

こんにちは @tomorrowkey です。 これまでブランドアプリではバックアップ機能が無効になっていましたが、ユーザーの利便性向上のために有効にしました。 データバックアップ機能はファイルを逐一指定もしくは除外する必要があり、面倒なので敬遠されがちな…

Bitrise CIでRuby 2.7 EOL対応をした

こんにちは、@tomorrowkey です。 STORES CRMモバイルチームで STORES ブランドアプリ の開発しています。 STORES ブランドアプリ とは、お商売をしているオーナーさんごとにオリジナルアプリを作り、お客様へのクーポンの配布やお店からのご案内をとおして…

定期モバイルLT会を開催しました

最近DIYで挑戦したのは、クリアファイルとペットボトルで捕虫器を作ったことです。クワガタを見かけたので近所の公園に許可を取って設置しました。結果は0匹でした。電池式のLEDライトを使ってライトトラップにしたのですが、そもそも虫はLEDの光にはあまり…

GitHub Copilotを使ってちょっと楽にUnitTestを書けるようになった

わたしたちがこのアーキテクチャにおいてどのようなテストを書いているのか、そして昨今話題のGitHub Copilotがこのテストを書くのをちょっと…いやかなり楽にしてくれたのでその経験をご紹介します。

ブランドアプリ開発に携わって1年間で変化した5つのこと

こんにちは、@tomorrowkey です。 STORES CRMモバイルチームで STORES ブランドアプリ の開発しています。 STORES ブランドアプリ とは、お商売をしているオーナーさんごとにオリジナルアプリを作り、お客様へのクーポンの配布やお店からのご案内をとおして…

公式ドキュメントの読み合わせ会やって〼

最近やったDIYは、自室のオフィスチェアのキャスターで猫の足を巻き込みそうだったので、100均のプラタッパーを加工してカバーにしたことです。最初は使い捨てのテイクアウト容器を加工したものでしたが、加工が容易な分、壊れるのも早かったです。 こんにち…

Androidアプリにおける安全なライブラリアップデートの手引き

はじめに こんにちは。STORES 決済 Androidアプリ・SDKの開発をしている id:n-seki です。 Androidアプリの開発においては、Googleが開発・提供しているライブラリはもちろん、デファクトなものを中心にサードパーティのライブラリもよく使われます。 ライブ…

STORES 予約 における予約者さま向けアプリリニューアルの裏側 Androidアプリ編

はじめに STORES 予約 モバイルエンジニアの satoryo です。 この記事は「STORES 予約 における予約者さま向けアプリリニューアルの裏側 Androidアプリ編」になります。 ここからは Coubic by STORES 予約 Android版のリニューアルについてソースコードを交…

STORES 予約 における予約者さま向けアプリリニューアルの裏側 iOSアプリ編

はじめに STORES 予約 モバイルエンジニアの neko です。 この記事は「STORES 予約 における予約者向けアプリリニューアルの裏側 iOS編」です。 今回のリニューアルついては、この記事のほか、PM&デザイナーとAndroidエンジニアの記事も公開されています。 …

STORES 予約 における予約者さま向けアプリリニューアルの裏側 PM・デザイナー編

リニューアルの背景と目的 具体的にやったこと リリース当初のアプリコンセプトと、現在の利用状況との差分理解 リニューアルコンセプトを決めるワークショップ 既存の情報設計整理 理想の情報設計整理 UI / UXの設計と狙い 画面デザイン タブの設計 現在の…