2011年にGoogleがJavaScriptを置き換える新しいウェブプログラミング言語の標準化を目指して公開したプログラミング言語。 Java風の構文を持ち、クラスベースのオブジェクト指向プログラミングをサポートする。また、Isolateというshared nothingなスレッド機構を持つ。
記述されたプログラムは「Dart VM」と呼ばれる仮想マシン上で動作する。またライブラリ「dart2js」でJavaScriptへ変換でき、Dartをサポートしていないブラウザでも実行可能。
*1:Google Developers Blog: Dart 1.0: A stable SDK for structured web apps
*2:Chromium Blog: Ecma forms TC52 for Dart Standardization
近況報告になるが、去年末から本業仕事でIoT系プロジェクトに関わっていたが、最近それが一段落した。この仕事のターゲット機はESP32を搭載しているが、小生はそのファームウェアの開発を行った。また、AWS上で稼働するNestJSベースのWebアプリ・サーバープログラムの改造も手伝ったりした。こちらで得た技術知見もブログ記事に書いていこうと思っている。 本業に復帰する前の一昨年から去年前半まで(コロナ禍の最盛期)はIT開発は副業としてやっていたが、主に関わっていたのはスマホアプリ開発でフレームワーク(プログラミング言語)はFlutter(Dart)を使っていた。Flutterを好んで使っていたのは…
ゴールデンウィーク中に書いているコードで、DNSクエリを一から書いてみるかということで雑に実装したコードを残しておきます。 ちゃんとした仕様通りの実装をしているわけではないので解説はしませんが、UDP通信したい人や別のものを参考にする場合には利用できるかもしれません。 実行する場合には dart main.dart zuki.dev A のように指定すると動作します。 import 'dart:convert'; import 'dart:async'; import 'dart:io'; import 'dart:typed_data'; class RecordType { final i…
pub.dev Navigator 1・2に代わる簡易的な画面遷移のプラグインとして登場したのがGoRouterです。 GoRouterはコンストラクタで指定するルート(Route)の集合体によって全体が制御され、管理されています。 また、ディープリンクやその他の一般的な画面遷移をすべて使いやすい API でサポートしています。 【実装フロー】 ①パッケージを追加 pub.dev ②MaterialAppをMaterialApp.routerに変更 class MyApp extends StatelessWidget { const MyApp({super.key}); @override…
ウィジェットは1つだけの機能に収めるべきという考え そうすることで応答性も高く再利用も可能になる 再利用が可能になることでコードの総数も減る 常に新しいウィジェットクラスを作ることで再利用が容易になる 応答性とは:画面のサイズが変わっても対応できる = デバイスやブラウザに依存しない 必要な作業はウィジェットのmaxサイズとminサイズを決めること また、2つのウィジェットを並べてレイアウトを画面サイズに合わせて変動するといった複雑な画面等も作れる 応答性についての参考資料 マルチプラットフォーム対応 最新フレームワーク Flutter 3入門 作者:掌田津耶乃 秀和システム Amazon
ウィジェットツリー内でのウィジェットの位置や UIがどのウィジェットに対応しているか見ることができる コマンドパレット→Dart Open DevTools in Browser マルチプラットフォーム対応 最新フレームワーク Flutter 3入門 作者:掌田津耶乃 秀和システム Amazon
SingleChildScrollView(children:) 複数の子ウィジェットをスクロールできる様にする scrollDirection: Axis.horizontal/vertical でスクロール方向を決める デフォはvertical 少数のデータを表示するのに適している(子ウィジェットを一度にビルドするため) ListView(children:) 複数の子ウィジェットを一列に並べる テキスト、画像、アイコン、その他カスタムウィジェット等異なる種類のウィジェットを含めることが可能 大量のデータを表示するのに適している → 動的に変わるリストを表示or項目数が多い場合に使用 Li…
コマンドパレットからflutterで検索しNew Project選択 若しくはターミナルでコマンド flutter create -t skeleton ↓ フォルダを選択して作成したら初期コメントを全削除: コマンドパレットからRemove All Comments 拡張機能はこちらを使用 マルチプラットフォーム対応 最新フレームワーク Flutter 3入門 作者:掌田津耶乃 秀和システム Amazon
Flutterの状態管理を行うStatefulWidget(若しくはStatelessWidget)の中身について今更ながら理解しました。 やはり一行、1コードずつ丁寧に理解を進めていくことが大事ですね。 以下の例を使って進めて行きましょう。 class ClassName extends StatefulWidget { const ClassName({super.key}); @override State<ClassName> createState() => _ClassNameState(); } class _ClassNameState extends State<ClassN…
概要 DartのImageライブラリを使えば、画像の切り抜きや合成、色味の編集、エンボス加工などさまざまな画像処理が行えます。 とはいえ用意されているメソッドは全てを網羅しているわけではなく、例えばクロマキーで透過画像を生成することなど、意外とできないことも多いです。 そのような用意されていないことをしたい場合にはバイト配列を取り出して自分で加工する必要があります。 公式のドキュメントには、画像から取り出した時のバイト配列の仕様など説明がなかったようなので、 本記事では、バイト配列を取り出して加工する方法について紹介します。 ※ 具体的な画像の加工アルゴリズムについてはここでは紹介しません。 …
今回も久しぶりの記事投稿です。 合わせてブログのデザインも変えてみました。2024年ですからね!! 本当は年末に書いておきたかった内容ですが、2024年を迎えてしまったので昨年の振り返りと今年の抱負の両方をまとめて書いていきます。
浪人のサムライです。 本日、デモサイトのバージョン13を公開しました。 rounin-samurai.com アクセスログを見ると、8割以上がスマホからのアクセス。 PCの画面ではレイアウトが異なりますが、スマホだと画面サイズに限界があって、どうしてもデザインは限られてきます。 それを打開すべく考え中。。。 なお、今回はvscodeを使ってHTMLコーディングをしました。 今まではAdobeドリームウィーバーを使っていたのですが、好奇心がありまして。。。 他には、Dart Sassを使いたくて・・・。 なのでvscodeを使いました。 クリーンインストール 手動でしなくて良い プラグインをイン…
GWでたくさん寝て頭がスッキリしたので、久々にブログで。 個人の感想です LogicとViewの共通化 flutter.dev Flutter allows you to build apps for mobile, web, desktop, and embedded devices — all from a single codebase. マルチプラットフォーム向けのフレームワークを使う場合、そのフレームワークは複数のプラットフォーム向けのコードを共通化します。 Flutterの特徴の一つは、共通化する対象がLogicとViewの両方である点です。 Logicの共通化は、Flutterの…
4月は3週間の海外旅行に行っていたので久々の更新。 FlutterでFirebase Authenticationを実装してみたので記載。今回は純粋なアプリのログインのみ実装。 次回の記事でbackendの接続とアプリの状態保持を記載する予定。 PR github.com 使用パッケージ firebase_auth | Flutter package google_sign_in | Flutter package 今回はGoogleログインのみ実装したので使用 flutter_secure_storage | Flutter package 実装 まず、Firebase接続の事前準備が必要な…
結論 $ brew update 実例 $ brew --version Homebrew 4.0.24-26-g8d9aa90 $ brew update ==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:f7be167f7ac4f296b9f4c5874ceeea4aafd9999c3c7f2b0378cae7dd273e2322 #######################################################################…
forkwell.connpass.com こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。 会の概要 会の様子 講演〜FlutterビギナーのためのWidget完全攻略〜 Flutterとは? 環境構築の要点 Widget前編 Widget後編 書籍のポイント Q&A ネイティブでできることはFlutterですべてできるか? riverPodを利用する際、MVVMで開発するとriverPodとViewModelとComsumerStatefulWidgetの3つで状態管理することになる。riverPodはグローバルなアプリ全体を通した状態管理をしてViewMode…
ゲーム『ウマ娘 プリティーダービー』にて2024年4月30日(火)12:00から開催の「GOCHI WEEKキャンペーン」に登場したパペットのイラストまとめ もっとすげぇオチねえかなぁ?#ウマ娘 pic.twitter.com/rDXbyP8s1x — 坂崎ふれでぃ (@lunaticmonster) 2024年4月30日 pic.twitter.com/d1qtDmS6jT — なぞの (@nazono77) 2024年4月30日 おかわりもらって良いですか(勝手にすみません) https://t.co/DZe9p4CXyV pic.twitter.com/2goMXKgb0u — さざなみ…
市場概要 フードサービス用使い捨て品の市場規模、分析、動向を分析しています。フードサービス用使い捨て製品の世界市場は予測期間(2023-2030年)に年平均成長率5.4%で成長する見込みです。 フードサービス用ディスポーザブルは、その使いやすさと迅速な後片付けが支持され、テイクアウト、デリバリー、ストリートフードなどの外出先での食事に最適です。中国とインドの外食産業は急成長しており、ファーストフードチェーンやレストランの増加がその原動力となっています。モンディPLC、ソノコ・プロダクツ・カンパニー、ウェストロック・カンパニーなどが同市場で事業を展開しており、競争は激化しています。 外食産業向…
大宮 ダーツバー 実は最近、色々あって元気がなかったんだ( ; ; )そんな時に、仲良しメンバーが大宮 ダーツバーに連れていってくれたよ!とにかくカラオケで歌いまくって、ダーツで発散しまくった(笑)最初は乗り気じゃなかったけど、すごく雰囲気が良くて居心地が良かった(*´꒳`*)帰る頃には、元気満タンになったよ♪誘ってもらって本当に感謝〜♡オススメのカラオケバーだから、ぜひ行ってみて! KARAOKE 『カラオケはLIVE DAM!』最新PVや素敵な音響で最高のカラオケを楽しめます。 DART 『ダーツはDARTS LIVE2!』最新のダーツマシンで最高の時間を・・・もちろんクレジットなしで全て…
スマレジで Web 系エンジニアとして働いている やまて(@r_yamate) と申します。 テックファームという SES 部署に所属していますが、2023 年 4 月からは、スマレジの関連アプリの開発業務を担当しています。 Flutter(Dart、Kotlin)でのアプリ開発をメインで担当しており、React の一部機能の実装を担当しています。 先日リリースされたため、街で利用され始めていて感慨深いです。 はじめに 今回は、ブログを書いてきてよかったこと5選について書きます。 2年以上継続して、当ブログで技術記事などを投稿してきましたが、弊社の「ブログ手当」の制度廃止を機に、今回の記事で最…
市場概要 この調査レポートは、使い捨て蓋の世界市場のシェア、市場規模、最新動向、今後の市場展望、競合情報を分析・解説しています。使い捨て蓋は、様々な食品や飲料の包装に応用され、簡単な盛り付けやこぼれ防止に役立っています。市場は、特にファーストフード業界における利便性の高い食品や飲料の需要の増加によって牽引されており、アメリカでは衛生的なパッケージングソリューションのニーズが急増しています。使い捨て蓋の世界市場における主なプレーヤーは、Berry Global Group, Inc.、Huhtamaki Oyj、Dart Container Corporation、その他市場で事業を展開する著…
市場概要 コンポスタブル食品サービス包装の世界市場は、予測期間2023-2030年に4.8%の高いCAGRに達すると推定されます。 コンポスタブル食品サービス包装は、コンポスタブル素材でできたプレート、ボウル、カップ、トレイ、クラムシェル、カトラリー、パウチなどで構成されています。堆肥化可能な外食用包装製品は、紙、プラスチック、その他の天然素材で構成されています。 プラスチックや様々な素材が環境に与える影響に対する意識の高まりとともに、外食用包装は進化してきました。その結果、消費者だけでなくメーカーも代替品として堆肥化可能な外食用製品を利用し始めました。堆肥化可能な製品業界は、堆肥化可能なカ…
市場概要 自動販売カップの世界市場規模、最新動向、競争環境、今後の市場展望を分析・予測したレポートです。自動販売カップの需要は、特に食品・飲料業界における利便性と外出先での消費に対するニーズの高まりにより増加しています。アジア太平洋地域の需要が急増。競争は激化しており、Huhtamaki Oyj、Dart Container Corporation、Berry Global Inc. これらのカップは一般的な使い捨てカップとは異なり、自動販売機で詰まることなく機能するためには精密な製造が必要です。自動販売用カップは通常のウォータークーラー用カップよりも高価で、製造公差も低い。さらに、グリップ…
市場概要 DataM Intelligence社のレポートによると、世界の紙コップ市場は予測期間2023-2030年にCAGR 2.48%の高成長を遂げると予測されています。Genpak LLC、Westrock Company、Georgia-Pacific LLCなどが参入しており、競争は激化しています。 紙コップは紙製の使い捨てコップの一種で、液体が紙を浸さないようにプラスチックで裏打ちされています。紙コップは食品用の紙を使用して製造されており、衛生的で、熱い液体や冷たい液体を長時間保存することができます。多忙なスケジュールと慌ただしいライフスタイルの中で、消費者は現在、紙コップを活用…