I tried Dart frontend using shelf
๐ท๏ธ
backend ใฏใใกใ๏ผ
Flutter Web ใจใ AngularDart ใชใฉใใใใงใใใฉใกใใฃใจ้ใซใใใใใจใใๅ ดๅใงใ๏ผ
ใณใผใใฏไธ่จใฎ้ใ๏ผ
const index = '''<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<main role="role">
<div class="container">
<h1 class="mt-5">{{ title }}</h1>
</div>
</main>
</body>
</html>''';void main(List<String> args) async {
var handler = const shelf.Pipeline()
.addMiddleware(shelf.logRequests())
.addHandler(_echoRequest);
var server = await io.serve(handler, _hostname, port);
print('Serving at http://${server.address.host}:${server.port}');
}Future<shelf.Response> _echoRequest(shelf.Request request) async {
var template = Template(index);
var output = template.renderString({'title': 'hoge'});
var headers = {'content-type': 'text/html'}
return shelf.Response.ok(output, headers: headers);
}
index.html ใ้็ใใกใคใซใง็จๆใใใฎใๆฎ้ใ ใจๆใใใงใใ๏ผdart compile ใใฆๅใใใฆใฟใใใฃใใฎใง dart ใใกใคใซใซๅใใพใใ๏ผ
go-bindata ใชใฉใฎใใใซ executable ใซ้็ใใกใคใซใ include ใใใใใชไป็ตใฟใ Dart ใซใใใใจใใใงใใญ๏ผ
ๆฐใๅใใใไฝใใใ๏ผ
html ใฎไธญ่บซใฏ mustache template ใไฝฟใฃใฆใฟใพใใ๏ผ
ใจใใใ Dart ใซใใใใใณใใฌใผใใจใณใธใณใงใใใ ๏ผใฟใใใชใฎใฏไปใฎใจใใใชใใงใ๏ผ
ใพใใใใใ่ค้ใช GUI ใๆฌฒใใใชใใใใใ Flutter web ใไฝฟใในใใ ใจๆใใพใ๏ผ