Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Kotlin

SansanアプリにおけるKotlin Multiplatform導入の効果とアーキテクチャ紹介

こんにちは! 技術本部 Sansan Engineering Unit Mobile Applicationグループの桑原です。この度、Sansanモバイルアプリでは開発スピードを加速させるため、実プロダクトにKotlin Multiplatform(以下、KMP)を導入しました! まずは1画面の導入から始めまし…

EightのJetpack Composeで使われているマルチプレビューをご紹介します

技術本部Mobile Application Groupの荒です。AndroidアプリエンジニアとしてEightのAndroidアプリ開発に携わっています。 Eight AndroidではUI実装にJetpack Composeを使用しています。 その中で、共通で適用したいPreviewをまとめてカスタムマルチプレビュ…

Sansan Mobile iOS/Androidエンジニア全13名でKotlin Multiplatform導入に向けた開発演習を実施しました

技術本部Mobile Application Groupの赤城です。最近は、Sansan Mobileアプリの開発チームのエンジニアマネジャーとして活動しています。 この度、Sansanのモバイルアプリ開発を加速させるためKotlin Multiplatformの導入を決定しました! それに際して、普段…

KotlinとSwiftを一つのIDEで開発する:JetBrains Fleetの紹介

こんにちは、技術本部Mobile ApplicationグループでiOSアプリケーション開発しています。武田です。Mobile Applicationグループではシン・技術研鑽DAYと題して、社内勉強会を開催しています。今回の記事では、その勉強会で発表した資料をベースに説明します…

【Sansan Tech Talk】モバイル開発の技術的挑戦 〜KMP導入で目指す開発生産性の向上〜

こんにちは、Sansan Engineering Unitの部長を務める、笹川 裕人です。今回で5回目となる「Sansan Tech Talk」。この企画はSansanのテックリードたちが直面している技術的な課題や取り組みについて深掘りする連載企画です。 今回はMobile Applicationグルー…

ComposableのonClickはラムダ式?Listener?

こんにちは!Sansan技術本部Mobile Applicationグループのふるしんです。以前の記事で「アーキテクチャ検討会」を実施しているお話を書きました。 buildersbox.corp-sansan.comこの検討会の中ではどのような議論がなされているのかを聞かれる機会があり、せ…

Vol.03 Kover CLIでKotlinのTest Coverage Reportをあとからマージする

こんにちは。2024年4月に新卒として入社しました、技術本部Strategic Products Engineering Unit Contract One Devグループの髙野です。 2023年3月に内定者インターンを開始して以来、契約データベース「Contract One」を開発しています。 本記事では、自動…

AndroidでML Kit Document Scanner APIを触ってみた

APIの利用方法 gradleへの定義 ドキュメントスキャナーの準備 スキャンする 編集機能 まとめ こんにちは!Sansan 技術本部 Mobile Applicationグループのふるしんです。ML KitにてドキュメントスキャナのAPIが公開されました ML Kit | Google for Developers…

Eight Android アプリで Kotlin 2.0 を試してみた

技術本部 Mobile Applicationグループ所属の大塚です。名刺アプリ「Eight」のAndroidアプリの開発と、営業DXサービス「Sansan」とEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術的課題の解決や、PoCの開発を担…

Kotlin Coroutinesを使ったマルチスレッド環境で発生する問題の回避方法

技術本部 Mobile Applicationグループに所属する北村です。SansanとEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術課題の解決や、PoCの開発を担当しています。今回は昨年9月にリリースした、Eightのタッチ名刺…

AndroidでBluetooth Low EnergyのL2CAP通信を行う方法と開発で得た知見

技術本部 Mobile Applicationグループに所属する北村です。SansanとEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術的課題の解決や、PoCの開発を担当しています。今回は昨年9月にリリースした、Eightのタッチ名…

Order Oneでのドメインイベント実装

技術本部 Strategic Products Engineering Unit Order One Devグループで受注業務のDXから、事業を加速するプロダクトOrder Oneの開発をしている山邊です。 本題に入る前にお知らせです。2/27 (火) に「自由な発想でつながる、失敗談を語るLTパーティー」と…

NFCタグ読み取り機能を使ったイベント受付機能を開発した話

技術本部Mobile Applicationグループの森です。 EightのAndroidアプリを開発しています。Eight主催のイベントでEightアプリを使って簡単に入場できる機能を開発したので、その紹介をしたいと思います。

Bill One開発文化のおかげでOSSにコントリビュートできた話

はじめに 技術本部 Bill One Engineering Unit (兼 情報セキュリティ部 CSIRT グループ) の茂木です。 現在は「さばかん」という名前のチームに所属しており、PdL[^1]という役割をしています。 今回は Bill One の開発文化の影響で sqlc という OSS にコント…

Advent Calendar: OpenTelemetryの計装をやってみた話

こんにちは。技術本部 Bill One Engineering Unit の前田です。現在はSREチームに所属しており、アプリケーションに強いSREといった立ち位置になっています。今回は、私がSREチームに異動してから少しずつ実施した、OpenTelemetryを用いた計装について説明し…

Jetpack Composeで「もっと見る」をタップしたら伸縮するExpandableTextを自作しました

こんにちは、技術本部 Mobile Applicationグループに所属しているAndroidエンジニアの鎌田です。 TLDR こんな感じのUIをJetpack Composeで自作しました!

国際化を意識したWebアプリケーションにおける日付・時刻の扱い方

こんにちは、クラウド請求書受領サービス Bill One の開発をしている加藤です。 新しくアプリケーションを開発する際は、それが日本国内をターゲットにしたものであっても、グローバル対応するときに問題が発生したり、そもそもグローバル対応できなかったり…

僕たちが「アプリがバックグラウンドに回った」の判定にProcessLifecycleOwnerを使わなかったワケ

こんにちは!Sansan 技術本部 Mobile Applicationグループのふるしんです。 本記事は Sansan Advent Calendar 2021 - Adventar 16日目の記事です。 普段は大阪のオフィスでAndroidアプリの開発に従事しています。 play.google.com play.google.com Sansanア…

Jetpack DataStore入門〜Proto DataStore実装編〜

こんにちは!Sansan事業部 プロダクト開発部のふるしんです。私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。play.google.com この記事はJetpack DataStore入門〜Preferences DataStore実装編〜 の連載として、Proto DataStor…

KotlinアプリケーションをGoogle Cloud Functionsにデプロイする

Bill One事業部の山邊です。 2020 年 5 月に Google Cloud Functions が Java11 に対応した。それによって JVM 言語で Cloud Functions を記述することができるようになった。 私も開発に携わっているクラウド請求書受領サービスの 「Bill One」(https://bil…

Jetpack DataStore入門〜Preferences DataStore実装編〜

こんにちは!Sansan事業部 プロダクト開発部のふるしんです。私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。 play.google.comこの記事では、連載として2020年 9月 2日に1.0.0-alpha01として公開されたJetpack DataStoreにつ…

「スタートダッシュAndroid 〜アプリエンジニアの必須ノウハウをサクっと押さえる」を献本いただいたのでレビューします

こんにちは!Sansan事業部 プロダクト開発部のふるしんです。 私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。 play.google.com 先日、クラスメソッド社の浜田さんより、執筆された本を献本いただきました! とっても嬉しかっ…

新規事業開発での技術選定の意思と意図 (バックエンド編)

こんにちは、新規事業開発室に所属するソフトウェアエンジニアの加藤です。私は関西支店でBill Oneという新規サービスの開発に携わっています。 弊社にはSansanのカタチという企業理念があり、働く人々が体現すべきValuesの1つに「意思と意図をもって判断す…

© Sansan, Inc.