37
Aqueduct Joe Conway @joeconwaystk

Connect.Tech- Aqueduct: A server-side framework in Dart

Embed Size (px)

Citation preview

Page 1: Connect.Tech- Aqueduct: A server-side framework in Dart

AqueductJoe Conway@joeconwaystk

Page 2: Connect.Tech- Aqueduct: A server-side framework in Dart

Server-side framework in Dart

Page 3: Connect.Tech- Aqueduct: A server-side framework in Dart

But why?

Page 4: Connect.Tech- Aqueduct: A server-side framework in Dart

The problem

Expectations

Resources

Time

Page 5: Connect.Tech- Aqueduct: A server-side framework in Dart

Starting fast

OpenAPI Generator

Automated Testing

OAuth 2.0

Database Generation

Logging

ORM

HTTP Server Configuration

Page 6: Connect.Tech- Aqueduct: A server-side framework in Dart

Starting fast

pub global activate aqueduct

aqueduct setup

aqueduct create -n my_app

./my_app start

Page 7: Connect.Tech- Aqueduct: A server-side framework in Dart

Aqueduct in Action

Page 8: Connect.Tech- Aqueduct: A server-side framework in Dart

Aqueduct Structure

Page 9: Connect.Tech- Aqueduct: A server-side framework in Dart

Routing

Page 10: Connect.Tech- Aqueduct: A server-side framework in Dart

HTTPController

Page 11: Connect.Tech- Aqueduct: A server-side framework in Dart

HTTPController

Page 12: Connect.Tech- Aqueduct: A server-side framework in Dart

HTTPController

Page 13: Connect.Tech- Aqueduct: A server-side framework in Dart

Authentication

Page 14: Connect.Tech- Aqueduct: A server-side framework in Dart

Authentication

Page 15: Connect.Tech- Aqueduct: A server-side framework in Dart

Multi-isolate support

Page 16: Connect.Tech- Aqueduct: A server-side framework in Dart

Multi-isolate support

Page 17: Connect.Tech- Aqueduct: A server-side framework in Dart

Talking to a database

Page 18: Connect.Tech- Aqueduct: A server-side framework in Dart

Executing a Query

Page 19: Connect.Tech- Aqueduct: A server-side framework in Dart

Executing a Query

Page 20: Connect.Tech- Aqueduct: A server-side framework in Dart

Matchers

Page 21: Connect.Tech- Aqueduct: A server-side framework in Dart

Executing a Query

Page 22: Connect.Tech- Aqueduct: A server-side framework in Dart

Defining a data model

Page 23: Connect.Tech- Aqueduct: A server-side framework in Dart

Defining a data model

Page 24: Connect.Tech- Aqueduct: A server-side framework in Dart

Defining relationships

id name

1 Joe

2 Bob

3 Sue

index title author_id

1 … 1

2 … 3

3 … 3

id type

1 Sports

2 Opinion

3 World News

article_index category_id

1 22 33 3

Page 25: Connect.Tech- Aqueduct: A server-side framework in Dart

Defining relationships

Page 26: Connect.Tech- Aqueduct: A server-side framework in Dart

Fetching relationships

Page 27: Connect.Tech- Aqueduct: A server-side framework in Dart

Fetching relationships

Page 28: Connect.Tech- Aqueduct: A server-side framework in Dart

Database migrations

Page 29: Connect.Tech- Aqueduct: A server-side framework in Dart

Executing a migration

aqueduct db generate

aqueduct db validate

aqueduct db upgrade

Page 30: Connect.Tech- Aqueduct: A server-side framework in Dart

Testing

Page 31: Connect.Tech- Aqueduct: A server-side framework in Dart

Testing

Page 32: Connect.Tech- Aqueduct: A server-side framework in Dart

There’s more

Page 33: Connect.Tech- Aqueduct: A server-side framework in Dart

Documentation and Naming Conventions

Query*

Schema*

HTTP*

where*

Managed*

API*

Auth*

Page 34: Connect.Tech- Aqueduct: A server-side framework in Dart

Manholes

Page 35: Connect.Tech- Aqueduct: A server-side framework in Dart

Customization

Page 36: Connect.Tech- Aqueduct: A server-side framework in Dart

Documentation Generation

dart bin/document.dart > openapi.json

Page 37: Connect.Tech- Aqueduct: A server-side framework in Dart

Next Steps

https://aqueduct.ioDownload this presentation on slideshare:http://www.slideshare.net/stablekernel