サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC25
tech.naturalmindo.com
AIコーディングアシスタント徹底比較:GitHub Copilot Agent・Gemini Agent Mode・Gemini CLI・Claude Code完全ガイド 2025年6月、AIエージェント技術による自動コード生成ツールが相次いでリリースされました。Github Copilot Agent / Gemini Agent Mode / Gemini CLI / Claude Codeはすべて、「AI Agent」であり、コーディングに特化した「AI Code Assistant」サービス・ツールです。 Gemini CLIとClaude Codeは、CLIベースのエージェント、Github Copilot AgentとGemini Agent Modeは、AI Code Editorsと、インターフェースの違いがある表現だということです。GitHub Copilot Agent
2025年6月25日、GoogleからオープンソースのAIエージェント「Gemini CLI」が発表・公開されたばかりですが、2025年6月26日 Geminiエージェントモードが追加されたプレビュー版「Anndroid Studio」がリリースされました。 現時点ではベースになっているのはGemini CLIと同じくGemini 2.5 Proとなっており、Googleアカウントがあれば無料で使うことができます。 具体的にはCanary版「Android Studio Narwhal Feature Drop」に「Gemini」のエージェントモード(Agent Mode)が追加されました。 「Android Studio Narwhal Feature Drop」のダウンロードはこちらから可能です。 「Gemini in Android Studio」のエージェントモードは、AIとのチャ
2025年5月にClaude Codeが一般提供開始、6月にはGoogleからオープンソースのAIエージェント「Gemini CLI」が公開され、AIによるコード生成が大きく進化しました。本記事では、Android StudioでのFlutter開発において、両ツールの生成コードとプロセスを徹底比較しています。 検証環境はMac(macOS Sequoia)、Android Studio(Meerkat 2024.3.2)で、Riverpod+Hooks+Freezedを使用した開発中のFlutterプロジェクトで実施。共通のプロンプトとして、テキスト入力・リッチテキスト表示・スタイルランダム変更・コピー機能・トースト表示を含むtext_edit_page.dartの作成を指示しました。 Gemini CLIは実行前にタスクを整理し、既存コードの構成を分析。fluttertoastの代わり
Flutter開発の効率を劇的に向上させるAIツール「Gemini CLI」をAndroid Studioで活用する方法を実践的に解説。MacでのGemini CLIのインストールから、実際にFlutterアプリのコード自動生成までの全工程を詳しく紹介します。 今回のデモでは「入力したテキストをリッチテキストで表示」をAIが実装。わずか一つのプロンプトで、Gemini CLIはRiverpod + Hooks + Freezedを適切に組み合わせた本格的なコードを生成。状態管理からアニメーション制御まで、プロダクションレベルの品質で実装されています。 環境構築はHomebrewとNode.jsのインストールから始まり、npm経由でGemini CLIを導入。Android Studioとの連携も簡単で、Googleの認証するだけで利用開始できます。 生成されたコードは4つのDartファイル
WWDC25でAppleが発表したモバイルアプリ開発の大幅アップデート Apple は WWDC25 で、iOS 26 と macOS Tahoe 26 に搭載される革新的な「Liquid Glass」デザインシステムを発表。ガラスの光学特性と流動性を組み合わせた新しい UI は、SwiftUI の .glassEffect() モディファイアで簡単に実装可能。 Xcode 26 には ChatGPT を含む大規模言語モデル(LLM)が統合され、AI によるコード生成、デバッグ、ドキュメント作成支援が実現。Swift 6.2 では @MainActor がデフォルト化され、並行処理の実装が大幅に簡素化。 SwiftUI の新機能として WebView、ToolbarSpacer、検索バーの自動配置、AttributedString 対応の TextEditor を追加。パフォーマンス最適化
Flutter開発において、Claude Codeを使ってAIにコード生成を任せることで、開発効率を大幅に向上させたいと思いました。 今回は一からプロジェクトを作成するのではなく、開発中のプロジェクトのひとつの画面を依頼してみようと思います。 その上で、まずは通常Flutterの開発に使用しているIDEの Android Studio 上で Claude Code を使えるようにしたいと思います。 とはいえ、Claude Code はコンソールベースのため、あまりIDEにUIが追加されたりして使いやすくなるというものではないのですが、「今 Android Studio で開いているプロジェクトにおいて、Claude Code を使用するよ」という連携されてる感があると思うので、Android Studio に Claude Code プラグインをインストールする手順から、実際にコード生成し
良いコード/悪いコードで学ぶ設計入門 保守しやすい成長し続けるコードの書き方。 ITエンジニア本大賞2023で大賞を受賞し絶賛されている改訂新版。 AIが生成したコードやそれらをつなぎ合わせたプログラムなどが増加するこれから本格的に規模の大きいプログラムを書くことになる中級者を目指す人向けの理解しておくべきことが紹介されています。 悪しきコードがもたらす弊害。 読み解くのに時間がかかり、バグを埋め込みやすく、さらに悪い構造を誘発するものです。技術駆動命名や連番命名といった意味不明な命名。名前重要。 条件分岐の入れ子構造によるネストの嵐、重複コード、修正漏れ、可読性低下、未初期化、不正値の混入などバグを生み出し、開発生産性を低下させる悪魔退治をすべし。 深いネストと文の重複の解消する方法に早期return、ガード節。 switch文の重複を防ぐため、interfaceの活用。switch-c
「ドラゴンクエストⅠ&Ⅱ」HD-2Dリメイク版のティザートレーラー動画、各メディア発表の情報から分かる、新要素・変更点の最新情報まとめです。随時新着情報を更新します。 従来のドラクエ1、ドラクエ2からの変更点・新要素、予想される変更点など大きく24項目あります。 HD-2Dグラフィックの美しさ 新しい仲間が登場 サマルトリア王子の妹、サマルトリア王女 モンスタが1体から複数体出現 とげのムチ ブーメラン とくぎが追加 従来は登場しなかったモンスターが追加 ベリアル・アーゴンデビル・ベビーゴイル バブルスライム・キラービー・デスフラッター 新たなイベントが追加 ロトの洞窟 にせ勇者御一行 ローラの門 ムーンブルク城の襲撃 風のマント ドラゴンの角 新しいアイテムが追加 フィールド上のお宝スポット(キラキラ) 親切なゲーム設定・改良 遊びやすいゲームバランス 斜め歩きがスムーズ ドラクエ1のた
2008年に日本でソフトバンクからiPhone3Gが発売されて以来、iOS/Android共にスマートフォンの普及が大幅に進みました。 そして、そのスマートフォンにおけるUIデザインのトレンドも変わり、大きなものから細かいものまでその変化は続いています。 そこで、これまでどのようなUIの変化があったのデザインの変遷を辿っていきたいと思います。 スマートフォンが日本でかなり普及されてきた2010年頃には、iOS/Androidともに「スキュモーフィズム」というデザインが定番でした。 スキューモーフィズムとは造語で、ギリシア語の「skeuos(入れ物)」と「morphê(形)」という単語から作られた言葉です。 デザインで意味するところは、現実世界のルールを取り入れたデザイン様式のことです。 Androidは当初から特にスキュモーフィズムを語ってはいないのですが、普及し始めたスマートフォンのUI
Githubへのプッシュ実績のあるプロジェクトにおいて、突然プッシュができなくなってしまった。直前の変更が関係ある? 開発しはじめたばかりのプロジェクトにおいて、githubにソースをpushすると、突然「HTTP 400」エラーが発生しました。 手元でのコミットは問題ありませんでしたので、プッシュ時に問題があるようです。 使用しているgithubのレポジトリへのプッシュは初回というわけではなく、何度か実績があったので、今回特別な問題があると推測されます。 エラーログは以下のとおりです。 git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credentia
MacでQuickTime Playerを使ってトリミングをしようとしたら、トリミングの項目が非活性(グレー表示)になっていてトリミングできないことがある Macで動画ファイルのトリミングをしたい場合、手っ取り早くできる方法として、Macの標準アプリの「QuickTime Player」が使えます。 対象の動画を「QuickTime Player」で開き、メニューの「編集」から「トリミング」を選べば、直感的に動画の好きなシーンを切り取ることができます。 QuickTime Playerを使ってトリミングをしようとしたら、トリミングの項目が非活性になっていてトリミングできないことがあります。 上の図のとおり、「トリミング」の項目がグレーアウトして選択できないようになっています。 QuickTime PlayerはMOV、MP4、M4V、AVI、WMV、MPEGなど、多くの動画ファイル形式(フ
Flutterを使って自動でスライドするカルーセルのバナー画像があとどのくらいで切り替わるのか、インジケーターのドットをプログレスバー表示にしてわかりやすくしているスターバックスアプリを真似したい iOS / Android においてスターバックスアプリが公開されていますが、そのiOSアプリにおいて、リッチなUIパーツがあります。 ギフトのタブを開くと、画面上にカルーセル表示されたバナー画像があり、一定時間(約4秒ほど)で自動的にスライドする仕様になっています。 このバナーがあとどのくらいで自動スライドするのか分かりやすいように、カルーセルの下にある定番のインジケーターの該当の位置のドットにプログレスバー表示を兼ねたようなUIにしているのが特徴的です。 たかだか4秒くらいの待ち時間なのですが、プログレスバーの表示があることで、スライドする時間が分かる安心感があります。 このような細かなUI
歌のボーカル部分を完全除去したり、一部だけ残したりしてカラオケやハモリ練習用の音楽ファイルを作りたいときがあるが、無料で簡単にできないものか カラオケやバンド練習などで、オフボーカルの音源がほしい場合があります。 昔のシングルCDであれば最後のトラックにカラオケバージョンとして歌なしの曲が入っていたりしましたし、Amazon Musicなどのサブスクでもinstrumentalと調べるとボーカルなしの曲だけの音源も配信されていたりします。 しかし曲のほとんどはそのような対応がされていないため、ボーカルのない曲を作ろうと思うと自分で編集するしかありません。 ある程度の金額の音楽編集ソフトであれば、ボーカルを除去するような機能があったりもしますが、無料で簡単に実現しようとするとどうしたらよいのだろうとなりますね。 ただ最近ではアプリケーションなしのWebブラウザで完了するオンラインサービスも出
YouTube動画から静止画を取得するのに、スクリーンショットを撮ったのではシークバーが入ってしまうし、サイズもおかしくなってしまう YouTube動画から静止画を切り出したいと思ったとき、PCやスマホの機能としてのスクリーンショットを撮る方法があります。 しかし、動画を一時停止してそのままスクリーンショットを撮ると、シークバーや各種操作アイコンなどの余計なパーツも表示されてしまいます。 タップしたあと一定時間経てばシークバーが自動的に消えるため、撮りたいシーンから少し戻って、再生中のままタイミングを見計らってキャプチャするという方法もありますが、かなりタイミングに左右されてしまい思ったとおりの静止画を撮ることが難しくなってしまいます。 切り出したいシーンで動画を止めますよね。 そこで、PCのキャプチャを撮っても、シークバーや各種ボタンなど余計な表示が目立ってしまいます。 実はChrome
「複数行になる長文テキストを入れたUILabelやUITextViewを、適当な時間をかけて上から下方向へ自動的にスクロールするようにしたい」 スクロール方向は、映画のエンディングのスタッフロールのようなイメージです。 完成イメージは以下のとおりです。 画面上部には固定されたヘッダー部分がある前提で、その下から画面最下部までテキストがスクロールする領域となっています。 まず、UIScrollViewとUILabel/UITextViewの配置関係性だけであれば、StoryboardのConstraintsの設定だけでも可能ですが、自動スクロール自体や、スクロールスピードを考えると、ある程度プログラムを書く必要は出てきます。 Storyboardでの構造は以下のようなイメージです。 上記のようなStoryboardの例において、下3分の2くらいの領域にUIScrollViewを置いています。
「ドラゴンクエストⅠ&Ⅱ」HD-2Dリメイク版のティザートレーラー動画から分かる、新要素・変更点の最新情報まとめ一覧。 従来のドラクエ1、ドラクエ2からの変更点・新要素、予想される変更点など大きく17項目あります。 HD-2Dグラフィックの美しさ 新しい仲間が登場 サマルトリア王子の妹、サマルトリア王女が有力 従来は登場しなかったモンスターが追加 ベリアル・アーゴンデビル・ベビーゴイル 新たなイベントが追加 ローラの門 ムーンブルク城の襲撃 風のマント ドラゴンの角 斜め歩きがスムーズ 遊びやすいゲームバランス ドラクエ1のたいまつ、ドラクエ2の落とし穴 ダンジョンなどのマップが一部改変 リッチなエフェクトや音響効果 フィールド上のお宝スポット(キラキラ) ルーラでの行き先が大幅に追加 ボイスが追加 システム関連 ほぼまんたんが追加 自動そうびが追加 その他期待される要素 特技が追加 新し
iOS11で登場したばかりの新機能ARKitを使って、新たなサービスや現行のサービスの付加価値となるようなビジネスアイデアが出てきそうで楽しみだ。 2017年に発売されたiPhoneXと、同タイミングで公開されたiOS11のARKitにより、AR技術がより進化し、より身近なものとなりました。 ここでは具体的なアイデアとして、美術館や博物館などの施設で活用できそうな音声ガイダンスアプリを作ってみました。 サイト閲覧や画像、動画、音声の視聴はもちろん、位置情報やテキスト読み上げ(テキストtoスピーチ)、ARのためのカメラといったスマホが持つ機能を最大限に活用することを考えたモックアプリです。 美術館、博物館以外にも展示物に関する解説をするなど決まったテキストや音声を扱うようなサービスにはうまく当てはまるのではないでしょうか。 具体的には、箱根にある「箱根ガラスの森美術館」のサイトを例に、音声ガ
iOS11で登場したばかりの新機能ARKitだが、そのAR/VRについてはまだ認知度が低く、これからの発展が楽しみなツール 2017年に発売されたiPhoneXと、同タイミングで公開されたiOS11のARKitにより、AR技術がより進化し、より身近なものとなりました。 ここではAR体験とVR体験が同時にできるARVR混合アプリを作ってみました。 うまく組み合わせればアイデア次第で簡単に大掛かりに見えそうな演出ができそうです。 iOSのARKitとGoogle VRを使ってARとVRどちらも体験できるアプリを作ってみました。 AR体験とVR体験が同時にできるARVR混合アプリ。いわゆるMR(Mixed Reality)アプリです。 ARとVR、どちらの要素も含まれたストーリ仕立てのアプリにしました。 今回は、一眼ハコスコで対応します。 ポイントはiPhoneのカメラが隠れないように、穴が開い
Flutter開発においてAndroidのビルド時の「Your project’s Gradle version is incompatible with the Java version that Flutter is using for Gradle」エラーの解決方法 iOSは問題ないがAndroidだけビルドエラー。実績のあるプロジェクトにおいて、AndroidStudioのバージョン「Koala」から最新の「Ladybug」にアップデートしたことで発生。 Flutterが使用しているGradleのバージョンとJavaバージョンの互換性が取れてないのが問題。 FAILURE: Build failed with an exception. * What went wrong: Could not open cp_settings generic class cache for set
毎回忘れがちなiOSとAndroidのストアURLを知る方法まとめ SNSやLP(ランディングページ)、関連WebサイトなどでアプリのリリースをPRのため、AppStoreとGooglePlayストアそれぞれのダウンロードページへのリンクを貼ることがある。Flutter開発でiOS/Android同時リリースの機会では同時に調べる必要がある。 iOSは、AppStoreConnectのアプリ情報の「Apple ID」 Androidは、プロジェクト作成時に設定した「Bundle ID」が対応。android/app/main/AndroidManifest.xml のandroid:nameプロパティか、android/app/build.gradle のapplicationIdに記載されている。 https://itunes.apple.com/jp/app/id[アプリのAppleI
最初に違和感を感じたのが、以下のスクリーンショットにある「級」という字です。 初級、中級、上級という単語で使用していますが、よく見ると「級」の糸へんの下の縦棒部分が、点になっていることがわかります。 習字で行書体を書くときのような形です。 iOSではこのような表示にはならず、問題なく縦棒になっています。 現在、Androidのシステムフォントは、Googleによって開発された「Roboto」か「Noto Sans CJK」です。 Flutterに限らず、Androidアプリの開発においてフォントファミリーを指定しなかった場合は、Androidの端末によってどちらかのフォントがデフォルトフォントとして適用されます。 なお、手元にあるAndroid端末は「Google Pixel 6a」です。 どうやらデフォルトフォントは「Noto Sans CJK」になっているようです。 さて、ではどうして
自分のカードから持っているカードを閲覧する場合、左右のスライドではカードが反転してしまい、前後のカードに移動できないのが難点 『ポケポケ』(ポケモントレーディングカードゲームポケット:Pokémon Trading Card Game Pocket)アプリにおけるUIについての小ネタです。 「ポケポケ」で自分の所有するカードを確認したいシーンは何度もあると思います。 左から2つ目のタブを選択すると自分のカードが一覧で確認できます。 そしてさらにカードをタップすると、該当するモンスターのカードが大きく表示されて詳細を見ることができます。 例えば以下のように「フシギダネ」のカードが全画面で確認できます。 ここで直感的には、左右にスライドしてカードが次に進んだり、前に戻ったりして欲しいものです。 実際多くのアプリでは、一覧から詳細に画面が遷移した際には、左右のスライドで移動できることがほとんどで
Cloud Storage for Firebaseの無料プランを利用しているユーザーは2025年10月以降使えなくなってしまう。既存アプリにおいて、無料で使っているFirebase Cloud Storageが、Blazeへのプランアップグレードを忘れると使えなくなってしまう。 「2025年10月1日より、デフォルト バケットと他のすべての Cloud Storage リソースへのアクセスを維持するには、Firebase プロジェクトが従量課金制の Blaze の料金プランに登録されている必要があります。*.appspot.com のデフォルト バケットは、Blaze の料金プランでも、現在の無料使用量を維持します。」 アップグレードしなかった場合、PROJECT_ID.appspot.com デフォルトバケットへの読み取り/書き込みアクセス権が失われるだけでなく、Firebaseコンソ
「ドラゴンクエストⅢ そして伝説へ…」HD-2Dリメイク版を年末年始の冬休みなど長期休暇を利用して一気にプレイする人に向けたまとめです。既にプレイした人、クリアした人、やりこんでいる人の声を反映して、ネタばれのないように魅力や新要素などを解説します。 どのハードで遊ぶのが適しているか、クリアまでの目安時間はどのくらいか、取り返しのつくこと、取り返しのつかないこと、楽しみたいポイントを詳しく説明します。その他の要素、サブクエストのちいさなメダル集めやはぐれモンスター保護、サブストーリー 転職もポイントです。 ニンテンドースイッチ、Switch、プレイステーション5、PS5、XBOX、PC(STEAM)、Microsoft、Windows ロード時間 スペック 持ち運び イヤホン ヘッドホン HD-2D技術によるグラフィックの進化 HD-2Dグラフィックの採用 グラフィックのエフェクトや音響効
新規アプリのプロジェクトが立ち上がったので、いつもどおりFirebaseを使ってStorageを使おうと思ったら、Storageの画面で設定できないことに気づきました。 現在は無料のSparkプランです。 上記のような画面になっており、Storageをすぐに使うことができません。 Storageを使用するには、プロジェクトの料金プランをアップグレードしてください というメッセージと「プロジェクトをアップグレード」というボタンが用意されています。 他のStorageを使用しているプロジェクトを見に行くと、従来どおり問題なくStorageが使えています。 新規のプロジェクトにおいてだけ、こうなってしまうことに気付きました。 Firebaseのプロジェクトの設定画面の設定がおかしいのかと思い、従来のプロジェクトと見比べていましたが、特に気になった点はありません。 「Google Cloud」の「
FlutterのTextウィジェットやTextButtonウィジェットなどのテキストを点滅させて表示したい場合があります。 それは単にリッチなUIにしたい場合だけでなく、タップを促したり、見えづらいテキストを気付きやすくさせたり目立たせることができます。 その方法には、単に単一テキストを表示・非表示にさせるだけのものから、2色を徐々にクロスフィード(フェードイン・フェードアウト)のように滑らかなアニメーションで切り替えるものまで様々です。 ここでは、無限ループでアニメーション付きで点滅できる方法4選を紹介します。 モデルとしたUIは、『ポケポケ』(ポケモントレーディングカードゲームポケット:Pokémon Trading Card Game Pocket)アプリのテキストボタンです。 具体的には以下の「タップですすむ」ボタンです。 この「タップですすむ」ボタンのテキストの色が黒からグレーに
Flutterのアプリのトップ画面において、横長の画像を以下のコードで画面いっぱいに表示するようにしています。 //top_page.dart @override Widget build(BuildContext context, WidgetRef ref) { return Scaffold( body: Stack( children: [ SizedBox( height: double.infinity, child: Image.asset( 'images/top_background.jpg', fit: BoxFit.fitHeight, ), ), ... ], ), ), } fitHeightを指定して、アスペクト比を変えずに画面いっぱいに収まるように表示しています。 この形を維持したまま、2つの画像をクロスフェードで自動で交互に表示し続けるようなリッチが表示にし
FlutterのリッチなUIパーツとして、2つの画像を自動的に交互に表示し続けたい場合があります。 それもできれば、フェードイン・フェードアウトのように切替えをリッチにするためにエフェクトを加えたいものです。 最近のアプリでは、初回のアプリ起動時からチュートリアルにかけてアニメーションがかかっているものも見かけます。 また、わざわざバナーをスライドしてもらうようなユーザーの操作を阻害させることなく、自然と背景画像でアピールしたいものを訴求したり印象付けることができます。 そしてなによりアプリとしての質を1ランク向上させてくれます。 「AnimatedCrossFade」を使って対応することができます。 特別なパッケージは不要で、標準のウィジェットとして使うことができます。 https://api.flutter.dev/flutter/widgets/AnimatedCrossFade-c
「ドラゴンクエストⅢ そして伝説へ…」HD-2Dリメイク版の新機能・新要素・変更点の最新情報まとめ一覧です。確定情報を随時更新します。実際のプレイで判明した内容、攻略本で発覚した情報を随時まとめます。 SFCリメイク版とHD-2Dリメイク版との対応した性格一覧まとめ 各職業の追加された呪文・特技まとめ。 新しく登場した武器・防具・アクセサリー・道具まとめ 保護できるはぐれモンスター一覧まとめ HD-2D技術によるグラフィックの進化 キャラクターのバリエーションUP従来なかった呪文や特技が追加 新しい武器・防具・アクセサリー・道具が追加 はぐれモンスターを保護してモンスターバトルロードにチャレンジ 新たなイベントが追加 その他システム面の新要素 新職業「まもの使い」が追加 性別が男女ではなくルックスとしての違いに変化 キャラクターにボイスが追加 仲間の見た目などカスタマイズが可能 ファッショ
次のページ
このページを最初にブックマークしてみませんか?
『notwork | モバイルアプリ開発情報』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く