マガジンのカバー画像

スペースマーケット ENGINEERING

138
エンジニアブログは Zenn に移動しました! zennはこちら👉 https://zenn.dev/p/spacemarket
運営しているクリエイター

#iOS

入社半年のアプリエンジニアがスペースマーケットで成長できたワケは、「チャレンジングな環境」と「チーム力」

サービスの成長になくてはならない、アプリの強化。スペースマーケットのアプリは、日々アップデートをし続けています。そこで今回は、半年前にアプリ開発チームへ入社し大活躍中の徐(ソウ)さんに、入社の決めてや課題に直面したときのこと、チームの特徴、今後について聞いてみました。 入社の決め手は、ユーザーの反応を見ながら1つのプロダクトに向き合えることーー今取り組んでいることと、入社の経緯について教えて下さい! アプリエンジニアとして入社し、直近ではスペースマーケットアプリの使い勝手

Flutterを技術スタックに加えてアプリチームは加速する #2 アーキテクチャ選定編

🎍🍱 あけましておめでとうございます 🗻🦅🍆 年末年始はいかがお過ごしでしたか? 新しい抱負を持って2022年アクセル踏みっぱなしでいきましょう🚗 今回はFlutterをプロダクト採用するにあたって検討したアーキテクチャにフォーカスしてお送りしたいと思います。 Flutterを技術スタックに加えてアプリチームは加速する #1 導入編の続編となります。 プロジェクト構成アプリケーションコードはlibディレクトリ配下に属し、以下のようなツリーになっています。 ├── lib

CombineとSwiftUIを組み合わせて、MVVMとVIPERの学習メモ(VIPER編part1)

こんにちは、iOSエンジニアのTanです。 本記事は前回のMVVM編を続きまして、VIPER編part1になります。 対象ターゲットSwiftUIを触り始めた。 VIPERがわかるような、わからないような曖昧的な理解。 SwiftUIはVIPERで作ったらどうなるの? のような方であれば、読んでいただけたら嬉しいです。 はじめ今回も下記の記事で参考させていただいたので、ソースコードを触りたい方はぜひサイト内からダウンロードしてください! VIPERって何 VIP

SwiftUIで無限カルーセルを実装する

この記事はQiita Advent Calendar iOSの21日目の記事です。 こんにちは、iOSエンジニアの高橋です。 以前SwiftUIでカルーセルを実装しましたが、今回はループができるように改造していきたいと思います。 前回の記事はこちら 今回実装するもの 1. 画面の中央にViewが止まる 2. 両サイドに前後のViewが見える 3. ループする(今回こちらを実装していきます) 完成コードViewModel import SwiftUIimport Co

CombineとSwiftUIを組み合わせて、MVVMとVIPERの学習メモ(MVVM編)

こんにちは。iOSエンジニアのTanです。 いよいよ年末になってきましたね、2021年はコロナの緊急事態制限で本当に短かったと思ってます。 今年は弊社のiOSアプリのホームページリニューアルや検索ページリニューアルにあたって、SwiftUIを導入しております。SwiftUIを導入するメリットや実用例をこちらの記事をご覧ください!👇 せっかくSwiftUIで開発をしていることもあり、Combineと組み合わせたら何か便利になるだろうという疑問も湧いてきたので、この記事でS

スペースマーケットでiOSエンジニアにチャレンジして2年経過した結果

こんにちは、iOSエンジニアの高橋です。時が流れるのは早いもので、今年も残すところ1ヶ月を切りました。年末が近づくにつれて、「今年はこんなことをしたな〜」と振り返る機会も多くなるかと思います。そしてまさに自分も振り返りをしている真っ最中なのですが、この機会なので入社から約2年でどのような経験・スキルが変化したのかを振り返りたいと思います。 過去の記事PickUp! 入社前前職は、教育機関でPC機器の構築・導入・保守業務を行なっていました。業務でコードに触れることはありませ

Flutterを技術スタックに加えてアプリチームは加速する #1 導入編

こんにちは、エンジニアのhoriです。 2022年の目標は「何かしらレースに出る」なので最近国内A級ライセンスを取りました。 この度、SPACEMARKET for HOSTをFlutterでリプレイスしました。 アプリの内容は、スペースマーケットに「スペースを掲載するユーザー(ホストユーザー)」を対象に、 ・やることの管理 ・カレンダーでのスケジュール把握 ・予約の確認・対応 ・収益確認 をもっと簡単かつスムーズにしていただこうというものです。 App Store

iOSアプリのstage環境を作り分けてみた

こんにちは、iOSエンジニアの譚です。 4月にスペースマーケットのiOSアプリのstage環境を作成してみたので、こちらで紹介させていただきます。 なぜつくるのか?今まで、本番環境とテスト環境がしかなかったからです。たまに本番環境で確認する時に、クラッシュしてしまうと、クラッシュがFirebase上に集計されて紛らわしくなってしまいます。ですので、新しくstage環境を作成したら、この問題は解決できると思います。 基本な流れ①PROJECT→Info→Configura

SwiftUIで実装した新しいホーム画面をリリースしました

こんにちは!iOSエンジニアの高橋です。 今回は、4月中旬頃にリリースをした新しいホーム画面について紹介いたします。また、技術面ではSwiftUIを活用した事例・感想など共有できればと思います! 1. 新しくなったホーム画面 これまでのホーム画面では、多くの情報が溢れており本当に必要な情報が受け取りにくい状態でした。今回はその点を改善するために、シンプルかつ「受動的」なコンテンツを提供できるような設計にリニューアルしました。 こちらでAndroidの取り組みについても紹

GWの終わりにFlutterの自作Widgetをpub.devに公開してみよう

こんにちは。最近クローゼットの書斎化DIYに挑戦しました。 エンジニアのhoriです。 普段開発をしていると今後使い回せそうなモジュールなど、ライブラリとして公開しておきたいことってありますよね。使うのは未来の自分かもしれないし、世界の誰かかもしれないし、ひょっとするとその筋のデファクトスタンダードになってしまうかもしれません。 今回は、Flutter開発(Dart)におけるパッケージ管理システムであるpub.devへの公開がとても簡単で感激したので手順を追ってご紹介した

SwiftUIでカルーセルを実装する

こんにちは。iOSエンジニアの高橋です! 最近本格的にSwiftUIで画面を作成する機会があり、今まで苦労していた画面作成があっという間にできてしまう体験に日々驚いています。ただ、これまでUIKitでできていたことが出来なくなっていることもあり、考え方を変えなければいけない場面があります。今回はおそらくその一つになるカルーセルを作成してみたいと思います。 今回実装するもの 1. 画面の中心にViewが止まる 2. 両サイドに前後のViewが見える 完成コードimport

スペースマーケットアプリのテスト自動化の取り組み

こんにちは、スペースマーケットでエンジニアをしているほりです。 サーキットでドリフトしたらガードレールに当たってしまい車を修理中です。 今回は、スペースマーケットが展開しているモバイルアプリでのテスト自動化についての取り組みを紹介したいと思います。 前提今回モバイルアプリでテスト自動化を導入した目的は、大きく3つあると考えています。 ・現状の品質(技術的な品質)を知り、次回リリースに品質を落とさないようにするため ・手動テストの工数を削減するため ・リファクタリングをし

Swiftでlazyの使い方を復習してみる

こんにちは、iOSエンジニアのTanです。 普段はLazyを意識せずに実装してきましたが、さまざまなライブラリのソースコードを拝見したところ、lazyが使われている場所が多く、改めて復習してみたいと思います。 Swiftのドキュメントはlazyがこんな感じで定義されてます。 A lazy stored property is a property whose initial value is not calculated until the first time it

iOSでARにチャレンジしました

こんにちは。iOSエンジニアの高橋です! 今回は、以前より気になっていたARに挑戦してみました。作ってみたものはとてもシンプルで、オブジェクトをただ表示するだけになります。チュートリアル的に触ってみましたので、紹介していければと思います。 地球を作ってみる 1. プロジェクト作成 今回は、SceneKitを選択して作成していきます。 RealityKitの方が新しくAR開発しやすいという記事をよく見ましたが、まだSceneKitよりもできることが少なそうなので今回は見送