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
最近2匹の猫との生活を始めました、アプリエンジニアチームの務台です。 今回は今年中旬に正式リリースと噂のDart3を使って、みんな大好きTodoアプリを作成してみたので、その感想等を共有できればと思います。 なお、2023/03/17時点ではまだアルファ版のため、今後機能の変更や削除の可能性があります。 作成したアプリのソースはこちらです。 github.com 実行環境 Flutter: 3.8.0-7.0.pre.2 (masterチャンネル) Dart: Dart 3.0.0 (build 3.0.0-204.0.dev) 開発時の注意 Dart3の機能はまだ正式リリースされていないため…
1月なので何か新しいことでもやってみようかと思い、Flutterでのアプリ開発に足を踏み入れてみることにした。ただしその前に、Flutter開発に必要なDart言語が全くの初見だったので基礎の学習から始めた。Dartの自己学習中に引っかかった部分やDart特有の機能などについて調べた際のメモが結構貯まったので、せっかくなので項目別に整理してまとめることにした。 環境 Dart SDK 2.18.6 使用した参考書 学習メモ Null Safetyについて StringBufferでの文字列の連結 データ型の確認と比較 whereType()とwhere() 複数条件でのMapリストのソート M…
エキサイトの武藤です。 Flutterで多言語対応をする際、基本的にはWidget内でBuildContextからAppLocalizationsを呼び出して利用します。 しかし、複雑なロジックが必要な表示テキストの場合、Viewでそのロジックを書いてしまうとViewのコードが肥大化してしまいます。 その場合、View以外に表示テキストの生成処理を行うようになると思います。 今回は、RiverpodのProviderで表示テキストの生成を行う方法について説明します。 実行環境 l10nを使ったテキストの表示 ロジックを含む表示テキスト l10nを取得するBuildContext を扱うユニット…
ワールドカップの見すぎでflutterを怠っておりましたのでワールドカップも見つつ頑張ります。前のパートでルーレットのアプリを簡単に作りました。 今回はいろいろ改良を加えてみようかなのパートとなります ルーレットの中身を自分で入力しよう 今までAさん~Hさんで分けてきましたが、これを自分で入力できるようにします とりあえず書いてみる main.dart import 'package:flutter/material.dart'; import 'package:myapp1/screens/roulette.dart'; import 'package:myapp1/screens/home…
エキサイトの武藤です。 Flutter 開発を通して、freezed でのJSONの扱いに慣れてきました。 今回は freezed, json_annotation パッケージの基本的な使い方やTIPSをまとめていきます。 @JsonKey アノテーション name プロパティー defalutValue プロパティー fromJson プロパティー カスタムゲッター、メソッドを追加する build_runner watch でコード変更を監視 まとめ 余談 参考記事 各種パッケージについて Dartのアップデートの内容について @JsonKey アノテーション json_annotation…
タイトルのとおりですが、flutter buildができなくなりました。きっかけはbuild時に 「~/.gradle/caches のバージョンが〜」というwarningが出ていたのでcacheディレクトリだから消せばいいかと考えて消したことでした。ネットで情報を探していると ~/.gradle/caches を消せばいい ~/.AndroidStudio4.0/system/caches を消せばいい Android Studioを開いて、「File → Invalidate cache & restart」をすればいい など色々あったのですが、全部うまく行きませんでした。結局、 rm -…
こんにちは、モバイルクライアントグループの中島です。 ついこの間、約300~400年に一度のイベントがありましたね。 皆既月食+惑星食、道ゆく人が皆空を見上げていたのが印象的でした。 自分は残念ながら天体観測用の環境やカメラなどがなかったため、スマホのカメラでそれらしい写真を撮影するに留まりました。 www.youtube.com さて、今回はFlutterのお話をします。 11/16~18に行われる FlutterKaigi 2022 、自分もプロポーザルを提出したのですが、残念ながら落選してしまいました。 fortee.jp これから話すのは、採択されていたら話そうと思っていた話の一部です…
本エントリではFlutter/Dartにおけるループ処理の使い方について説明する。 ループ処理とは Flutter/Dartにおけるループ処理 ループ処理 for 文法 例 for...in 文法 例 forEach 文法 例 while 文法 例 do while 文法 例 ループ処理とは 特定の処理を何度も繰り返す処理のこと。 プログラミング言語であれば、基本的にどの言語でも実装されている仕組み。 Flutter/Dartにおけるループ処理 以下のループ処理が使用できる。 for for…in forEach while do while 以下でそれぞれの記述方法を説明する。 ループ処理 …
Ichiroです。惑星衝突なんて映画の中の話?って事でも無いようですよね。実際に今の地球は、そんな小惑星の衝突があったから人類が生きてるようなところもあり..。最近は衛星のゴミなどが地球上に落下するような事件も起こっていますが、宇宙の彼方から飛んでくる星の欠片たち..。そう、地球に当たる可能性はあるんですよね。 そんな惑星衝突を避けるための実験がNASAによって行われています。 直径が150mくらいの小さな惑星しか動かせないようではありますが..。 そんな小惑星の発見に向けてのNASAは考えているとか。ありがたいこっちゃ!何事も、備えあれば憂いなし?一気に気温の下がる日があって、「先週は短パン…
本エントリではDateTimeクラスの使用方法を説明する。 DateTimeとは インスタンス生成 コンストラクタを利用 DateTime() DateTime.now() DateTime.utc() 文字列をパース プロパティ 各時刻桁 isUtc timeZoneName timeZoneOffset weekday 日付と時刻の操作 時間を足す 時間を引く 一致・不一致を確認 差分を取得 時刻の前後関係を取得 フォーマットを指定して日時を表示する インストール フォーマットの指定 DateTimeとは api.flutter.dev 日付と時刻に関する情報を扱うクラス。UNIXエポック…
スマレジの テックファーム(SES 部門) でWebエンジニアとして働いている やまて(@yamate) と申します。 実務では SES の派遣先で、テーブルオーダーシステムの機能改修業務の設計などを担当しています。(2022 年 3 月〜 2023 年 3 月末予定) 2023 年 1 月からは Flutter を実務で使用することになって、キャッチアップ中です。 はじめに この記事では、 Flutter の MethodChannel を使って Kotlin のコードを実行するサンプルアプリの実装手順をまとめます。 MethodChannel とは api.flutter.dev docs…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,069件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
この度所属している大学の大学生向けアプリを開発し Apple の App Store と Google の Play Store にリリースしました。 play.google.com マイルストーン MILESTONE HENSHUKAI, GENERAL INC. ASSOCIATION 教育 無料 apps.apple.com リリースから1週間経った時点でのアプリストアでのダウンロード数などのグラフです。自分が思った以上に使われていますね。 思えば生まれて初めてこういった形で自分の書いたコードで実際に人に使われるものが作れたなと感慨深いです。この記事ではアプリの開発の裏側、利用している技…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,067件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥2,400 91%OFF!! ⭐ ⭐ ⭐ ⭐ (20,065件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥2,200 …
概要 FlutterでGoogleMapを利用するとき、API KeyはOS毎に以下のファイルで設定する必要があります。 iOS:ios/Runner/AppDelegate.swift Android:android/app/src/main/AndroidManifest.xml テスト環境と本番環境にそれぞれ発行したGoogleMap API Keyを、 ビルド(ipaまたはaabファイルの生成)時に、 dart-define-from-file オプションから設定する方法を記載します。 前提 Flutterで環境ごと設定値を分けるには、元々、Flutterビルドコマンドオプションの d…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,058件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
Customers Mail Cloudではメール送信に際して、SMTPとAPIの二種類を提供しています。昔からの使い慣れたSMTPを使っても良いですし、SMTPのポート制限されている場合でも使えるAPIを利用しても良いでしょう。 今回はこの二つのメール送信方法について、Dartから利用する方法を紹介します。 APIユーザを作成する API設定画面にて、APIユーザを作成します。アクセス権限として、SMTPは必須になります。API経由での配信を行う場合はSMTPに加えて、HTTP-APIも有効にしてください。 SMTPを使ったメール送信について 今回利用するライブラリはmailerです。 da…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,057件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,050件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
はじめに こんにちは!モジュール開発部のyamakazu (@yamarkz) です。 10Xではテストコードの標準化を目指して、テストコード規約 (Test Coding Standards) を整備してきました。この記事では数ある規約の中でも、実際に活用して効果が大きかったものをいくつか取り上げて紹介します。 テストコードの品質に課題を持っている方や、コーディング規約の整備に関心を寄せる方の参考になれれば幸いです。 ChatGPT 要約 ChatGPTに内容の要約をお願いしました。この記事で述べられている内容は以下の通りです。 テストコードに規約を設ける目的は、「テストの資産性を高めること…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (20,041件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
先日、Flutterのハッカソンに参加しました。 flutterlabo.tech 結果としては、会社のメンバーと力を合わせて3位入賞することができました! 参加したきっかけ 参加したきっかけは、会社の同僚がハッカソンを見つけて誘ってくれたことでした。 Flutterについては、一度チュートリアルをやったことがあり、ちゃんとアプリを使ってみたいなーという気持ちはありつつ、なんだかんだできていなかったので、Flutterを学ぶいい機会だと思い、参加しました。 ハッカソンの1週間で作ったアプリ 今回のハッカソンのテーマは「アナログなイベントをデジタル化する」でした。テーマ発表から、開発したアプリの…