この記事は「kvin鯖 Advent Calendar 2019」の7日目の記事です。

こんにちは。でみです。

今回はRapidoというRADフレームワークを使って、334秒でTODOアプリを作っていきます。

RAD(Rapid Application Development)とは?

有名なバンドではなく、ざっとこんな感じ。

Rapid Application Developmentの略。「高速アプリケーション開発」の意味。システム開発の手法の1つ。ユーザーを含む少人数で仕様分析、設計、開発を進め、繰り返し試作品を作成して評価・改良することで完成品に近づけていく。開発期間を短縮し、高品質のシステムを構築できる。

(引用元:RAD | IT用語辞典 | 大塚商会)

要するに、ツールとか使いまくってさくっと作る的な感じですね(間違ってるかも)。

本題

開発環境は整っている前提でいきます。

コードを書くまでの準備

Flutterの新規プロジェクトを作成します。

pubspec.yamlにrapidoの依存関係を追加。

dependencies:
  rapido: ^0.1.9
JetBrainsな人は上のPackages getを選択して、それ以外の人は、 flutter pub get でパッケージを取得します。

Running "flutter pub get" in todo_rad...                           15.7s
Process finished with exit code 0
こんな感じだったら🆗

実際に書いていこう

main.dartの上に追記。

import 'package:rapido/rapido.dart';

あとはこんな感じにDocumentListと入力フィールドとDocumentListScaffoldを作成するだけ。

class _MyHomePageState extends State<MyHomePage> {
  DocumentList taskslist = DocumentList("Tarea",
      labels: {"Date": "date", "Task": "task", "Priority": "pri count"});

  @override
  Widget build(BuildContext context) {
    return DocumentListScaffold(taskslist);
}
labelはデータの項目のようですね。

labelを設定する時に、dateやlatlongを指定すると、それぞれDatePicker、LocationPickerが使えるようです。便利。

さて、ここまでできたらビルドしてみましょう。

todo_1.png
todo_2.png

いい感じになってる。

この時点で項目の追加・編集・削除など一通り動きます。

ただ一つだけ謎なのが、一番最後に追加したデータのみ永続化できています。リスト全体ではないんですよね…

とりあえずこれで完成ということにしておきます(?)

おまけ

誕生日だったということでこんなもの作ってみました。

birthdayapp.jpg

プライマリーカラーに阪神は関係ありません

DocumantListScaffold()の引数にcustomItemBuilderを設定すると、普段通りにWidgetをを設定できます。 年齢の表示とか、残り日数に応じてカードの色を変えてみました。

デザインできないので見た目は許して()

💩コードは以下のリンクに公開してるのでよかったら見てください。

終わりに

rapidoを使って簡単にアプリケーションを作ることができました。

しっかり使える形にするなら1から作った方が良さそうですが、初心者にはサクッと目に見えて動くものが作れてオススメです。

参考