Dart language is a client-optimized language for fast apps on any platform, made by Google. It is a programming language optimized for developing user interfaces.
Flutter is an open-source framework which can be used to build native-looking Android and iOS apps, web, desktop apps (Windows, Linux, and Mac) with the same code base.
- One code base – Flutter doesn’t need any platform-specific UI components to render its UI. You only need to write one logic and UI then it can be built to any specific platforms the framework supports.
- Hot Reload – Flutter features Hot Reload which allows developers to see the applied changes almost instantly, without even losing the current app’s state. In the long run, it saves time, money and efforts.
- Native performance – Depends on the OS a Flutter app runs on, you get access to widgets that are based on the platform differences of Android and iOS, Windows, Linux and Mac. Furthermore, Flutter app is built directly into the machine code.
- Complex UI and Animation made easy – If you used to write list (a single component), you will know how many boilerplate it requires just to make a simple list. That doesn’t event count more complicated UI stacks. And animation is another beast developer needs to tame. Both of them can be done easier in Flutter.
- Own rendering engine – Flutter uses Skia for rendering. Thanks to the engine, UI built in Flutter can be launched on virtually any platform.
- Large widget library – Despite being new, Flutter’s built-in widget collection is huge and can be used in almost any situations. Furthermore, 3rd-party libraries are increased day by day.
Aqueduct is an extensible HTTP framework for building REST APIs on top of the Dart VM. It includes a statically-typed ORM, OAuth 2.0 provider, automated testing libraries and OpenAPI 3.0 integration.
- Multi-threaded – Developers don’t need to write separated code for leveraging every CPU. Aqueduct’s memory-isolated threads already does that our of the box.
- Fluid Routing – Routes are defined with higher-order functional syntax, which makes application flow easy to construct and read.
- Statically-typed ORM and Database Migration – The built-in ORM makes database query a breeze with powerful, statically typed queries. It stores data in database tables and maps table rows to Dart objects.
- OAuth 2.0 Server – OAuth 2.0 server can be created in just a few lines of code. Tokens and client identifiers are supported via a layered implementation.
- Productive Request Bindings – The bindings approach help avoid simple errors and makes sure your API handles errors correctly and consistently.
- Integrated Test Library – Any Aqeduct app can be run, tested, debugged and profiled. You can integrate continuous integration tools like TravisCI with ease.
- OpenAPI 3 Integration – Developers can generate OpenAPI 3 documents from your source code and deploy first class documentation automatically.