Memulai
Kebutuhan#
-
Dart SDK
^3.13(sudah termasuk di Flutter 3.47 ke atas). -
Untuk SQLite tidak perlu apa-apa lagi:
package:sqlite3mengunduh build SQLite yang hash-nya diverifikasi saat build dan menyertakannya bersama aplikasi. Untuk memakai library SQLite milik sistem operasi, tambahkan kepubspec.yaml:hooks: user_defines: sqlite3: source: system
Membuat proyek#
dart pub global activate dartisan_cli # dari pub.dev
dartisan new blog # template api: auth, user, token, test
dartisan new tiny --template=minimal
cd blog
dartisan migrate --seed
dartisan serve --watch # hot reload
Setiap proyek punya CLI sendiri, bin/dartisan.dart, yang mengenal aplikasi
Anda (createApp() di bootstrap/app.dart). Di dalam folder proyek,
dartisan global menjalankan CLI itu: dartisan saja menampilkan semua
perintah (termasuk perintah buatan Anda), dan dartisan migrate --help
menampilkan opsinya. Tanpa dartisan global, gunakan
dart run bin/dartisan.dart <perintah>.
Struktur proyek#
| Path | Fungsi |
|---|---|
bootstrap/app.dart |
createApp(): routing, middleware, auth, rate limit, exception |
bootstrap/*.dart |
registry eksplisit: migrasi, seeder, job, policy, listener, command |
routes/api.dart, routes/web.dart, routes/console.dart |
route dan jadwal |
lib/app/http/controllers, requests, resources |
lapisan HTTP |
lib/app/models, jobs, events, listeners, policies |
domain |
database/migrations, seeders, factories |
skema dan data |
test/feature, test/unit, test/conformance |
test |
Daravel tidak memakai refleksi maupun code generation saat build. Apa yang
di Laravel ditemukan otomatis, di sini didaftarkan eksplisit di
bootstrap/. Generator dartisan make:* menambahkan entrinya untuk Anda,
dan dartisan lint melaporkan file yang belum terdaftar.
Build dan menjalankan#
dartisan build # dart build cli → build/server/bundle
APP_ISOLATES=4 ./build/server/bundle/bin/server
dartisan build --docker # Dockerfile multi-stage
Hasil build berupa direktori: bin/server ditambah lib/ berisi SQLite.
Deploy seluruh direktorinya. Lihat Deployment.