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の使い方と体験談まとめ
これからAndroidアプリを開発してみたいと思う方向けに、何を用意すれば良いかを紹介します。今回の記事を参考に、まずは環境や必要なものを揃えてください。
背景 無料コーディング練習所 に取り組み、中級編3まで進めてきました。 今回、ついに上級編への挑戦です! 成果物 8月終わり以来久しぶりのツイート。本日までに+16時間でようやく上級編、完成です!👏 ほとんど機能実装と細かい修正をたっぷりと...!#無料コーディング練習所 での学習は学びも多く、楽しみながら新しい経験をさせていただきました!ありがとうございました😊https://t.co/2tm83BZOlW— ふーしゃ@web (@fuchsia_84) 2023年9月13日 GitHub - fuchsia-84/PON_DESIGN: Webコーディング練習用課題 : PON DISIG…
【表題】(目標)FlutterとAndroid StudioでAndroid、ios両方で動くアプリを開発してリリースしたい。その1 【日付】2023/09/15 【詳細】 Google PlayとApple Store両方に公開できるまでが理想ですが、お金もかかるようなので、実機でテストできるまでが目標です。iosアプリはMACがないと難しいようですが、Codemagicとかいうのを使ったり、VM Wareを使ったりして実現したいと思います。 【環境構築】 試行錯誤でやったので、エラーが沢山出たので正しい順番ではないです。 ①Android studio (2023年9月だが、最新版は202…
まさかあの車が重要なファクターだったとは…… Zylmex P389 COBRA 427 (後述しますがPの前のスペースからZee Toysのシリーズだった可能性があります) ともすると軽んじられがちな香港メーカーからここまでのカタチのコブラが出ていた。フェンダーのふくらみやフロント、リアの風貌。これをコブラと呼ばずしてなんと呼ぼう。ジルメックスの中でもPシリーズというだけあって納得の出来です。427コブラはACコブラを原型に開発したマシンでした。特徴的なボディ下部に沿ったエキゾーストパイプはベースプレートと一体成型で再現しています。 さて昨日の記事ではマイストとジルメックス/ZEE TOYS…
画面を開いたときに、初期化処理などをしたいと思って、 いろいろ調べたときの備忘録(*´ω`*) flutter_hooksのuseEffectを使うとよいっぽい。 rrousselGit/flutter_hooks コード import 'package:flutter/material.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; class FooPage extends HookConsumerWidget { c…
こんにちは!こちらの記事ではエキサイト株式会社で開催された就業型インターンにおいて、Flutterアプリ開発を通して学んだこと、感じたことをご紹介したいと思います。 自己紹介 情報系大学院に在籍しています村井と申します。普段はKotlinを用いたAndroidアプリケーション開発を中心に行なっています。大学院の研究ではVue.jsを用いたWebアプリケーション開発を行なっています。 業務内容 今回のインターンではFlutterによるモバイルアプリ開発を中心に行いました。 ウォーミングアップ 私はFlutterによる開発経験が浅く、riverpodなどを用いてToDoアプリを作る程度でした。そこ…
本番/開発でfloverを使ってるけど、 flutter_flavorizrベースなので、 あまりちゃんとわかってない。。 Flutterの公式ドキュメントだとこのあたりなので、 それぞれ調べてみたときの備忘録(*´ω`*) Create flavors of a Flutter app | Flutter flutter run --flavor devで実行できるやつ。 iOS/MacOS XCodeのSchemaを使って実現してる。 Customizing the build schemes for a project | Apple Developer Documentation De…
flutter_native_splashパッケージを使ういい感じにできるっぽい。 対応しているのは、Android/iOS/Web。 flavorにも対応しているけど、Desktop系は非対応。 Desktop Support · Issue #168 · jonbhanson/flutter_native_splash Flutter公式のドキュメントはこのあたり。 Android: Adding a splash screen to your Android app | Flutter Android12(API 31)以降はSplashScreen API用の設定項目 スプラッシュ画面…
1. はじめに テクノロジーの世界は驚くべき速さで進化しています。その中核には数多くのプログラミング言語が存在し、それぞれが特有の役割や機能を持っています。この章では、その中から自分に合ったプログラミング言語を選ぶ旅の第一歩として、世の中の多様なプログラミング言語と、それを選ぶという行為の意味を深く探っていきます。 世の中の多様なプログラミング言語 最初に、プログラミング言語の多様性について考えてみましょう。Python、JavaScript、Java、C#、Ruby…。これらはごく一部に過ぎませんが、一つ一つの言語が独自の魅力や特性を持っています。例えば、Pythonはそのシンプルな構文と豊…
スマレジの テックファーム(SES 部門) でWebエンジニアとして働いている やまて(@r_yamate) と申します。 実務では 2023 年 3 月末まで、 SES の派遣先のテーブルオーダーシステムの機能改修の設計などを担当しました。 2023 年 4 月からは、スマレジの関連アプリの開発業務を担当しています。触ったことのなかった Flutter での開発で、日々奮闘中です。 はじめに 今回は、 Flutter アプリに Firebase プロダクトの Authentication を導入する手順についてまとめます。 以前投稿した「Flutter アプリに Firebase を導入する…
FirebaseUI for WebのFlutter版があったので、 いろいろ試してみたときの備忘録(*´ω`*) firebase_ui_auth | Flutter Package ちなみに、FlutterFire UIもあったが、今はdeprecated。 firebase_ui_authへのマイグレーションが書かれている。 flutterfire_ui | Flutter Package Firebase UI Authとは Firebase UI Auth is a set of Flutter widgets and utilities designed to help you b…
TypeScript Origins: The DocumentaryはTypeScriptの誕生に関わった関係者たちへのインタビューで構成されたドキュメンタリー動画。 www.youtube.com 製作元はOfferZenというアムステルダムの求人プラットームの会社で、以前にはSvelte OriginsやLaravel Originsも公開している。 本作ではReact.js: The Documentaryの次世代フロントエンドフレームワーク開発競争と時期を同じくして起っていたAltJS戦争の中でどうTypeScriptが現在の地位を獲得していったのかに迫る。 laiso.hatena…
こんにちは。Androidエンジニアの半揚@cffYoHaです。2023年9月14日(木)〜16日(土)の3日間開催されたDroidKaigi 2023に参加してきました。本記事では、新卒Androidエンジニアの木川@E_oxypetalum_7と、DroidKaigiの様子や印象に残ったセッションを紹介していきます。 DroidKaigiの様子 半揚は、昨年のDroidKaigiに引き続き2回目のオフライン参加でした。スポンサーズディナーやネイル体験会など、新たな経験ができて非常に楽しいカンファレンスでした。昨年よりも知っているエンジニアの方が増え、理解しているライブラリやAPIが増えると…
.text { line-height: 150%; padding:0.5%; font-weight: bold; font-size:100% } .text > span { background: linear-gradient(transparent 50%, #EAEBEC 50%); } ソリューション事業部の佐藤です。 日々アプリのPMなどの取りまとめから、PLの実装などすべての工程に携わっております。 はじめに 作ってみた! Flutterのメリット/デメリット メリット デメリット Flutter + Webを採用/提案出来る、もしくはオススメしたいケース 最後に はじめ…
ひさびさに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…