1
/
5

All posts

仕様との比較がしやすいモバイルアプリの複雑な画面の実装

直近3年ほどは、モバイルアプリの開発に携わっています。その経験の中で、共通して悩んだ実装の一つが入力フォームが存在する複雑な画面の実装です。実装を終えて、仕様との比較をしながら動作確認をするときに、コードと仕様の対応関係が追いづらく、仕様通りになっているのかが、直感的に分かりにくくなりがちでした。sealed class と enum で UI State を定義し分岐を集約することで、対応関係を追いやすくできたので、その実装例を紹介します。

AIを使えばデザイナーでもStorybookを作れるのかを検証する

以前の「デザイナーからのテック相談」に続き、今回もエンジニアのSさんと、プロマネのKさんを交えた座談会形式の第2弾になります。テーマは「AIを使えばデザイナーでもStorybookを作れるのか」。実際に検証してみた結果と、デモを見てもらいながら3人で議論してみました。※2026年5月時点での検討になります。

Claude Code と Codex CLI を “設計者と作業者” として組み合わせる開発フローの話

今日はAIを使って普段どういった開発フローで開発を進めているか紹介したいと思います。まず前提として、Asialでは様々なAIツールを導入しているのですが、その中でも自分は Claude Code をメインで使っています。最初は個人用のMax20xプランを契約して使っていたのですが、途中から会社が一括でチームプランを契約してくれることになり、現在はチームプランで開発しています。

AI時代だからこそ、デザインチームが大切にしたい「判断」と「人間らしさ」

ここ数年、アシアルのデザインチームでは、デザインシステムやウェブアクセシビリティへの対応、生成AIの活用など、Webやアプリのデザインを取り巻く変化について、実際の現場で感じていることを紹介してきました。昨年は、デザインチームと生成AIの協業実例についてお話しました。それから1年が経ち、生成AIはさらに身近な存在になってきました。以前は「試しに使ってみるもの」だった生成AIも、今では業務の中で自然に使われる場面が増えています。

Claude Code × Claude Design で趣味のアプリを作った話

今年のゴールデンウィークに、ジムで使う筋トレ記録アプリを一人で作りました。スタックは Expo (React Native) + Supabase、開発の相棒はターミナルで動く AI コーディングエージェント Claude Code と、claude.ai 上で UI モックを生成・調整できる Claude Design の二つ。計画・設計・実装・デザイン・アイコン・配布までを、この二つと壁打ちしながら一人で回し切りました。この記事では、その「趣味のプログラミング」の進め方を、実際に投げたプロンプトや使ったツール構成も交えて書いてみます。

AIコードレビュー『CodeRabbit』をGitLabに導入してみた【体験レビュー】

ソフトウェア開発においてコードレビューは避けて通れない重要な工程です。レビューを通じてコードの品質を高めるだけでなく、設計の意図を共有したり、チーム全体のスキルアップにつなげたりする効果があります。しかし、その一方で「レビューをする側の負担が大きい」「忙しい時期は後回しになりやすい」「レビュワーによって指摘の粒度がばらつく」といった課題を抱えるチームも少なくありません。

1dayオフィスの開催レポート

新型コロナウイルス感染拡大を機に、アシアルではグローバルな拠点間での仕事と働き方の自由を尊重するため、現在もフルリモート体制を続けています。コミュニケーションが不足しないように、日々みんなで知恵を絞って様々な取り組みや制度を試していますが、今回はそんな取り組みの一つ、「1dayオフィス」をご紹介します。

「AI 事業に難易度ってあるの?」AI 事業の難易度を 10 段階で分類してみた

突然ですが、皆さんの会社で「うちも AI 事業やろう!」みたいな話、出ていませんか? そして、その「AI 事業」の中身が AI レコメンド だったり、画像 AI 査定 だったり、需要予測 AI だったりすると、なんとなく胸騒ぎがしてくる人もいるのではないでしょうか。

Testcontainersでコンテナ間テストを試したら良かったと感じた話

最近は自社プロダクト開発に携わるようになりました。日々、品質を高めたい、継続的に品質を守りながらプロダクトを更新したい、と開発しています。その中で「プロダクトのコンテナ間テストができないだろうか」と考え始めました。

Monaca Educationクラウドデータベースとサンプルアプリの紹介

本日は夏の研修でも好評だったクラウドデータベース機能と二択の簡単なクイズアプリを紹介します。

FlutterではこんなUIちょちょいのちょい

Flutterでは「Widget(ウィジェット)」と呼ばれる部品を組み合わせて、アプリの画面を構築します。HTMLでいえば、div や h1 といったタグのような役割を担っています。この記事では、Flutterにあらかじめ用意されている一部の標準のWidgetに絞り、それらを使って手軽にどのようなUIが構築できるのかを、最小限のコードと併せてご紹介します。

Node.jsにおける単一バイナリ配布(SEA: Single Executable Application)の実装と変遷

最近のNode.jsのアップデートでSEA(Single Executable Application)周りが改善されたようなので今回は試してみました。SEA(Single Executable Application)とはNode.jsで単一バイナリを生成し、Node.js未インストールの環境でもそのまま動かせるアプリの事です。

`.safetensors` の中身、説明できる? AIモデルファイル形式の歴史と仕組み

皆さんは Hugging Face でモデルのページを開いたことはあるでしょうか? 「Files and versions」タブを開くと、pytorch_model.bin や flax_model.msgpack、最近では model.safetensors など、見慣れないファイルがずらっと並んでいますよね。

AIでアプリ開発はどこまでできる?自律型AIを試してみた

最近では自律型AIエージェントと呼ばれるサービスが現れて、もはやコードを自分で書かなくても簡単なアプリくらいなら生成できてしまうといったことを耳にします。今回は AIエージェント Devin を利用してモバイルアプリを生成してみたいと思います。

Next.jsのunauthorized/forbiddenを使った認証・認可エラー処理

最近はNext.jsを使った開発をしています。Next.jsは多種多様な機能を提供しており、公式の機能で大抵のケースは対応できるのですが、それでも対応できないケースは生じてしまいます。その中の一つとして認証・認可のエラー処理が挙げられます。そんな認証・認可のエラー処理が容易になるのが今後リリース予定のunauthorzed/forbiddenAPIです。本記事ではこれらの機能を試してみたいと思います。※ これらは本稿執筆時点(Next.js 15.3.5)では実験的機能であり、以降の内容は正式リリースの際には変更になる可能性があります