STORES Product Blog

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

iOS/Androidアプリ

STORES ブランドアプリ AndroidのE2Eテストの実装 - Robotパターンの活用

こんにちは、naberyo (@error96num) です。今年の4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 前回の記事では、 STORES ブランドアプリ におけるE2Eテスト(End-to-Endテスト)導入の背景とプロセスについて紹介しま…

STORES ブランドアプリ でE2Eテストはじめました

こんにちは、naberyo (@error96num) です。今年の4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 本記事では、STORES ブランドアプリ にE2Eテストを導入した話について書きます。 なお、 STORES Advent Calendar 2024 の…

K2移行、やるぞ!

こんにちは。STORES 決済 でAndroidエンジニアをしているn-sekiです。 つい最近まで暖かな気候で「今年は紅葉が遅いなぁ」なんて思っていましたが、気がつくと師走です。困ったものですね。 今回はK2移行について書こうと思います。 なお、この記事は STORES…

Jetpack Compose移行に手間取ったボタンの話

はじめに こんにちは! STORES 決済 のAndroidアプリを開発しているchukaです。 こちらはSTORES Advent Calendar 2024 4日目の記事です。 突然ですが、みなさんボタンは好きですか? Material3の公式ドキュメントを覗いてみると、そこには9種類ものボタンが…

STORES レジ ~ iOSインターン 体験記 ~

前座 始めまして,ちゃんくろです。 普段は大学に通いながらiOSエンジニアとしてインターンに参加させていただいたり,IT系学生団体Tech.Uniの運営をさせていただいたりしている中で2024年春のサポーターズ1on1できっかけをいただき,10月中旬から11月中旬に…

STORES レジ の長年の負債を宣言的UIのエッセンスを取り入れて改善してみた

POSレジグループで STORES レジ という製品の開発をしている片桐といいます。今年の2月から、POSレジグループにサーバーサイドエンジニアとして参加したのですが、現在はサーバーサイドの開発と並行してアプリの開発にも参加しています1。 STORES レジ は、i…

UnitTest合宿の日々に思いを馳せる

はじめに こんにちは。STORES 決済 でAndroidエンジニアをしている id:n-seki です。 最近は気温の乱高下が激しく、寒暖差で体がバグりそうですね。 さて、今日はUnitTest合宿の話をしようと思います。 UnitTest合宿とは......? はい、そうですよね。突然「…

初めてテックカンファレンスに登壇しました 〜STORES Tech Conf 2024 "New Engineering"〜

こんにちは! STORES レジ と STOERS 予約 の開発をしている iOS・Android エンジニアの @satoryo056 です。 2024年9月25日に STORES 初のテックカンファレンス「STORES Tech Conf 2024 "New Engineering"」(以下、New Engineering)が開催されました。 私…

【STORES レジ】iOS インターンに参加してきた!

こんにちは、 yu です。2024年9月から10月までの約1ヶ月間、STORES レジ・予約チームの iOS エンジニアとして Join させていただきました。 インターン期間中のアウトプットとして、学んだことや取り組んだタスクについて記事を書いてきます。 初めてのタス…

STORES は DroidKaigi 2024 に協賛します!

こんにちは!!! STORES 決済 でAndroidアプリとSDKの開発をしています、 Yamaton です! おかげさまで STORES は今年も DroidKaigi のGOLDスポンサーをさせていただくことになりました。 また、DroidKaigi を盛り上げる企画をしていますので、ご紹介します…

STORES ブランドアプリ のサポートOSを引き上げる取り組み

こんにちは、私は STORES ブランドアプリでiOSエンジニアをしている @marcy731 です。 STORES ブランドアプリ のiOSアプリではこの度、サポートする最低OSバージョンを iOS 15.0 から iOS 16.0 に引き上げることになりました。 本記事ではサポートするOSを変…

予約システムとひとつになったPOSレジアプリの技術的なチャレンジを振り返る

こんにちは! STORES レジ の開発をしている iOS / Android エンジニアの @satoryo056 です。 STORES レジ は今年1月に STORES 予約 との連携を開始しました! リリースから約半年が経ってしまいましたが、私が業務で iOS 開発を開始して以降初めての大型プ…

モバイルだより 2024夏号

みなさんこんにちは、モバイル開発本部の 坂田 / @huin です。 最近さまざまな方面から Creepy Nuts の R-指定さんに似てるといわれています。 存在自体が文化財な脳味噌っていわれてみたい人生でした。 いや、ワンチャンまだ余白はあるはず。 さて、前回の …

STORES でインターン、そして入社しました!

こんにちは!STORES 決済 チームでAndroidアプリ開発をしています、chukaです。2023年10月より内定者としてインターンし、2024年4月に STORES に新卒入社しました! 今回は、どうして STORES に入社を決めたのか、インターンや正社員として入社してみて実際…

issueやPRに貼る動画を編集しよう!

蒸し暑い日々が続きますね。 こんにちは! STORES 決済 モバイルチームの Engineering Manager、 iOS アプリ・SDKの開発を担当しております。 いわいです。 みなさん、issueやPRを作成する時に動画を貼ったりしますよね? 折角貼るなら、ファイルサイズを軽く…

STORES社内でAndroidエンジニアが取り組んでいる勉強会

こんにちは、STORESの @tomorrowkey です。 STORESのモバイルチームでは社外向けに ebisu.mobile などの勉強会を主催していますが、社内においても盛んに勉強会がおこなわれる文化があります。 この記事ではSTORES社内で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の開発を待つ必要があり、アプリの開発を…