ローソンデジタルイノベーション テックブログ

ローソンデジタルイノベーション(LDI)の技術ブログです

FigmaのDevMode新機能、アノテーションを使ってみたら便利だった話

こんにちは、デザイナーの松本です。 先日アップデートされたFigmaのDevModeの新機能、アノテーション(測定・注釈)を早速使ってみて、便利だなぁ〜!と思わずブログを書いてしまいました。 Figmaとはブラウザ上でUIデザインやWebデザイン、グラフィックデ…

Cloud Functions でのJWT対応方法の紹介

ローソンデジタルイノベーション(LDI)のiOS/Android開発マネージャーの阪口です。 今回は、Cloud Functions でのJWT(JSON Web Token)を利用した認証処理について紹介します! はじめに 前回こちらの記事で、Cloud Functions と Cloud Firestore の社内利用…

FlutterとDartを使ったAPI通信の実装方法

こんにちは、LDIのモバイルアプリエンジニアの庄司です。 前回に続き、在宅勤務報告システムの開発にまつわる話をしようと思います。 在宅勤務報告システムではhttpパッケージを使って、APIの呼び出しを実装しています。 今回はAPIへのリクエストとレスポン…

Firebase Auth×Microsoft Entra ID×Microsoft Graphで認証処理を実装した際にちょっと困ったこと

ローソンデジタルイノベーション(LDI)でPMを担当している畑沢です。先日、下記記事にて在宅勤務報告システムについてご紹介しました。 techblog.ldi.co.jp今回は、Firebase Authentication × Microsoft Entra ID × Microsoft Graphを利用した認証処理と、実…

Flutterで環境ごとにビルドする方法

はじめに ビルド環境を切り替えて開発する方法について --dart-define-from-file 環境変数定義(json) 実行方法 ソースコード側の対応例 在宅勤務報告システムで工夫したこと 最後に はじめに こんにちは、ローソンデジタルイノベーション(LDI)でiOSエンジニ…

失敗から学んだ、Flutterでテキストボックスの状態に合わせてボタンの活性状態を制御する方法

はじめに こんにちは、Android開発エンジニアの岡田です。 普段はAndroid開発を行っていますが、今回はFlutterで在宅勤務報告システムを開発した時の出来事を記事にしていきます。 テキストボックスの状態によって、ボタンの活性/非活性を制御する方法につい…

(iOS) Alamofire + Swift Concurrency でのAPI通信処理の実装例

ローソンデジタルイノベーション(LDI)のiOS/Android開発マネージャーの阪口です。 開発しているアプリのAPI通信処理は、Alamofire を利用して実装しています。 通信処理部分をSwift Concurrency に対応したため、今回はどのように実装したか紹介します! 通…

Combineを使った開発で用意した拡張関数の紹介

はじめに 開発環境 Combineの拡張関数 sink(with:cancellables:receiveValue:) Parameters コード sinkWithMainThread(with:cancellables:receiveValue:) Parameters コード sinkAsync(with:cancellables:receiveValue:) Parameters コード 最後に はじめに …

社内向けの在宅勤務日を管理するアプリで祝日を表示する

こんにちは、LDIのモバイルアプリエンジニアの庄司です。 今回はFlutterを使って社内向けアプリを作った際に利用したtable_calendarというライブラリでの実装について書いていきたいと思います。 なお、導入方法はいろんな方が説明してくださっているので省…

Combineフレームワークを使ったViewModelの形について

はじめに こんにちは、ローソンデジタルイノベーション(LDI)でiOSエンジニアを担当している山形です。 今LDIでは開発しているiOSアプリで使用しているRxSwiftをCombineやSwift Concurrencyへ置き換えを進めています。 開発しているiOSアプリはMVVMを採用して…