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
final friends = [ 'Mary', 'Brad' ]; // 方法その1 final all1 = [ 'Bob', 'Tom', ] + friends; print(all1); // output // [Bob, Tom, Mary, Brad] // 方法その2 final all2 = [ 'Bob', 'Tom', ...friends ]; print(all2); // output // [Bob, Tom, Mary, Brad] // 方法その3 final all3 = [ 'Bob', 'Tom', ]..addAll(friends); print…
while 指定した条件がtrueの場合に処理をする 1回も実行されないことがある var i = 1; while (i <= 5) { print('x' * i); i++; } print('Done'); // output // x // xx // xxx // xxxx // xxxxx // Done for 指定した条件がtrueの場合に処理をする 1回も実行されないことがある for (var i = 1; i <= 5; i++) { print('x' * i); } print('Done'); // output // x // xx // xxx // xxxx…
var 型推測できる 型指定できない 変更可能(1回以上値をセットできる) // var // 型推測できる var name = 'Bob'; // 値が文字列なのでString型と推測される // 型指定できない // var String lastName = 'Pit'; // コンパイルエラー // 変更可能(1回以上値をセットできる) name = 'Tom'; name = 'Mary'; final 型推測できる 型指定できる 変更不可能(1回だけ値をセットできる) varよりもfinalを使うほうがよい // 型推測できる final name = 'Bob'; // 型指定…
文字列の検索・置換 // 元の文字列 String greeting = 'My name is Bob.'; // Bobを含むか bool isBob = greeting.contains('Bob'); // Tomを含むか bool isTom = greeting.contains('Tom'); print(greeting); print(isBob); print(isTom); // output // My name is Bob. // true // false // 元の文字列のBobをTomに置換 greeting = greeting.replaceAll('B…
// 文字列 String title = 'Dart course'; // 文字列を小文字に変換 String lowerCaseTitle = title.toLowerCase(); // 文字列を大文字に変換 String upperCaseTitle = title.toUpperCase(); print(lowerCaseTitle); print(upperCaseTitle); // output // dart course // DART COURSE
下記のような長い文字列で改行を入れたい場合にどうするか? print('My name is Bob.I am 18 years old.'); // output // My name is Bob.I am 18 years old. 改行する場合は改行位置に\nを入れる print('My name is Bob.\nI am 18 years old.'); // output // My name is Bob. // I am 18 years old. トリプルダブルクォーテーションで文字列をくくる print( """ My name is Bob. I am 18 years…
シングルクォーテーションでくくっている文字列内にシングルクォーテーションがあった場合にはエラーとなります。これはひとつの例であり、特殊文字が含まれる場合は対応が必要となります。 print('I'm Bob'); // output // Error: String starting with ' must end with '. print('I'm Bob'); 文字列をダブルクォーテーションでくくる print("I'm Bob"); // output // I'm Bob バックスラッシュをつける print('I\'m Bob'); // output // I'm Bob
String interpolation(変数の文字列展開) 変数を文字列に展開 String name = 'Bob'; print('My name is $name'); // output // My name is Bob 変数をくくる 変数の後に続けてアルファベットを入力するとエラーとなる String name = 'Bob'; print('My name is $nameA'); // output // Error: Undefined name 'nameA'. // print('My name is $nameA'); 変数の後に続けてアルファベットを入力する場合は …
はじめに enechain でソフトウェアエンジニアをしている@kkagurazakaです。 enechain が提供している eSquare というプロダクトは、電力を筆頭に、あらゆる企業が様々なエネルギー商品を売り買いできるオンライントレーディングプラットフォームです。そして、そのモバイルアプリは Flutter で開発されています。 今回の記事では、その eSquare アプリで絶賛進行中のリアーキテクチャについて、「何故そのような判断に至ったのか」という点も含めてお伝えします。 これまでのアーキテクチャ リアーキテクチャ前の eSquare アプリでは、Android のアプリアーキテ…
◆このページを読むのにおすすめな人◆ 東南アジアの穴場の国を旅行したい人 自然やゴージャスな建物があるブルネイ旅行を計画している人 海外旅行の交通手段を事前に知りたい人 【注意】ブルネイは穴場過ぎてタクシー来ない? ブルネイ配車アプリDartの使い方と体験談まとめ
ひさびさにFlutterのセットアップをしてたら、 FlutterFire CLIを使った形になってて、かなりハマったので、 いろいろ調べたときの備忘録(*´ω`*) Flutter アプリに Firebase を追加する invertase/flutterfire_cli: A CLI to help with using FlutterFire in your Flutter applications. CLIのインストール/セットアップ まずはCLIとかのセットアップ。 # firebase CLIのインストール $ brew install firebase-cli # firebas…
『anki』➔『暗記の神様 -anki』にリニューアル! 弊社の学習アプリの看板タイトル『anki』ですが、より覚えやすく印象に残るようにするため、タイトルを『暗記の神様』へ変更しました。 また、それに伴って、ゲームシステムも大幅にリニューアルいたしました! なぜ『暗記の神様』? 『暗記の神様』とつけた理由ですが、弊社の学習アプリに「〇〇の王様」というシリーズがございます。 王様シリーズは各教科の単体のアプリですが、ankiはその全ての教科を1つのアプリでプレイできる総合アプリなのです。 そこで、王様たちの頂点に立つ存在って何だろう?と考え、「神様しかいない!」となりました笑 恐らく、変えよう…
ランキング参加中プログラミング Riverpodとは 使い方 インストール providerをグローバルで宣言 アプリ全体をProviderScopeでラップ ConsumerWidgetなどを継承したクラスを作成 providerから状態を取得 ref.watch ref.listen ref.read サンプル カウンターアプリ Todoアプリ Riverpodとは RiverpodはFlutterにて状態管理を行うためのパッケージ。 pub.dev 同じく状態管理向けパッケージのproviderと同じ作者が作成したもので、 providerと比較して様々な改良がなされている。 note-…
FlutterのYoutubeチャンネルを見てたら、 便利なパッケージがあったので試してみたときの備忘録(*´ω`*) google_fonts | Flutter Package Browse Fonts - Google Fonts 使い方 とりあえずインストール。 $ fvm flutter pub add google_fonts $ fvm flutter pub get アプリ全体のフォントを変える ThemeDataのtextThemeに設定すればOK import 'package:google_fonts/google_fonts.dart'; ... return Mate…
開発情報 アプリ名:日本史の王様 - 3300問の一問一答や年号・二択問題を収録 開発言語:Dart(Flutter)、Swift、Kotlin サーバー:Ruby→Firebase インフラ:さくらVPS→Firebase 公開日:2012-08-15 最終更新日:2023-09-18 Update!! ストアページ App Store 日本史の王様 - 3300問の一問一答や年号・二択問題を収録 HANAUTA INC. 教育 無料 Google Play ストア情報 ◉アプリをリニューアルしました。 今までアプリを起動できなかった方、大変申し訳ございませんでした。 無事にアプリのアップデ…
今ブログの書き始めは、前日の17日11時過ぎですが、早く寝ようと眠剤飲んでも全く効果なし。試合まで4時間以上もあるのにどうしよう?。まぁそんな訳で更新予定。 何か格闘技を見る前の雰囲気ですが、ありゃースクラムとタックルで、ほぼ格闘技と変わりありませんな。百数十キロの大男がぶち当たるのですから。 気分的にはギンギンのRockですが、18日朝までそれではチト疲れる。真逆のアコースティック・サウンドで気を落ち沈める事にしたい。 悪しからず。又何分にも真夜中の中、誤字脱字多々あろうかと思います、ご許し願いたいものです。 Neil Young----------Harvest Moon 92年の彼のソロ…
びわ湖・アーティスツ・みんぐる2023『ガチャ・コン音楽祭Vol.3 つくるはつづくよ、どこまでも』も最終日。 朝10時から、米原の滋賀県立文化産業交流会間にて、こどもプログラム『アートをあそぶよ、いつまでも』を開始。ダンスチーム、音楽チーム合同で、野村の自己紹介《鍵盤ハーモニカ・イントロダクション》で「正解は一つではない。自分で色々考えてよい」というメッセージを伝え、田辺響さんのアサラト演奏を聴いて/見てもらい、楽器ではないようなものでも、音楽ができるし、音楽している姿自体がダンスのようであることも感じ取ってもらう。その上で、全員で体を動かし、声を出し、ウォーミングアップ。10時半には、ダン…
問題 表題の通り、テストコードであるクラスをモックしようとして、@GenerateMocksで指定したのに、コード生成がされなかった。 flutter pub run build_runner build コマンド自体は成功する。 GenerateMocksクラスの公式ドキュメント: https://pub.dev/documentation/mockito/latest/annotations/GenerateMocks-class.html 解決方法 [SEVERE] Conflicting outputs were detected and the build is unable to …
前回、前々回の続き。BrickHub/masonでいろいろ試したときの備忘録(*´ω`*) 前回: BrickHub/masonでテンプレート(bricks)を作ってみる - くらげになりたい。 前々回: BrickHub/masonでコード生成をしてみる - くらげになりたい。 前回まででとりあえずの作り方がわかったけど、 最終確認がないので、promptをカスタマイズできないか試してみた。 hooksが用意されていて、それを使うと 動的な質問(prompt)や 入力された値のvalidation などができそうな感じ(*´ω`*) hooksディレクトリは--hooksをつけると作ってくれ…
スマレジの テックファーム(SES 部門) でWebエンジニアとして働いている やまて(@r_yamate) と申します。 実務では 2023 年 3 月末まで、 SES の派遣先のテーブルオーダーシステムの機能改修の設計などを担当しました。 2023 年 4 月からは、スマレジの関連アプリの開発業務を担当しています。触ったことのなかった Flutter での開発で、日々奮闘中です。 はじめに 今回は、 Firebase コンソールで Firebase プロジェクトを作成する手順についてまとめます。 「Flutter アプリに Firebase を追加する」準備段階として実施する作業です。 当…
DRT×フィッシュアローから水中ダート系ビッグベイト「ダートジャック」発売!
前回の続き。オレオレテンプレートの作り方をみてみる(*´ω`*) BrickHub/masonでコード生成をしてみる - くらげになりたい。 公式ドキュメントだとこのあたり。 Creating Bricks | BrickHub Docs 雛形の作成 $ mason new example ✓ Generated 5 file(s). (34ms) created example/brick.yaml created example/README.md created example/CHANGELOG.md created example/LICENSE created example/__…
FlutterのYouTubeを見てたらこんなのが(*´ω`*) ドキュメントはこれが公式っぽい。 BrickHub Docs GitHubのTemplateリポジトリを使ってたけど、 アプリ名とかを変えるのがすこしめんどくさい。。 これなら、変数で指定できるので、だいぶ楽になりそう(*´ω`*) BrickHubとは BrickHub DocsのOverviewより BrickHub is a platform where developers can discover, install, and publish reusable templates called bricks. Brick…
今回は、アプリで処理を待つ間に表示されるローディングのあのぐるぐるを実装するサンプルです。関数を作ってあるのでメソッドをコピペして呼び出してもらえればすぐに実装できます! この記事で分かること ✅ローディングのぐるぐるの実装方法 目次 サンプル画面 サンプルコード 全文(main.dart) 実装手順の説明 ①ローディング関数作成 ②①を呼び出す ③時間のかかる処理を記述する ④ローディング画面を閉じる まとめ サンプル画面 以下画面のようにボタン押下で一定時間ローディング画面が表示されるサンプルです。 サンプルコード 全文(main.dart) import 'package:flutter…
ALuDublePiece のプライバシー ポリシー あかあか本拠地 (alupiece.hatenablog.com/_gl=1*uzk68f*_gcl_au*MTUwNjIyMjE5Mi4xNjg4NDgyOTk5 からアクセス可能) では、訪問者のプライバシーを最優先事項の 1 つとしています。 このプライバシー ポリシー文書には、あかあか本拠地によって収集および記録される情報の種類と、その使用方法が含まれています。当社のプライバシー ポリシーについてさらにご質問がある場合、または詳細情報が必要な場合は、お気軽にお問い合わせください。 このプライバシー ポリシーは、当社のオンライン活動に…