Git Product home page Git Product logo

Hydro-SDK

Logo

Author Flutter experiences in Typescript. No native bridge, no V8. Just Dart. From runtime to virtual machine.

Sponsored by

Possibly you! See sponsoring Hydro-SDK

Documentation and Tutorials

https://hydro-sdk.io/

Features

Hot Reload, Incremental Compilation

Action Gif

Function Maps

Function maps screenshot

Roadmap

Hydro-SDK is a software development kit (SDK) enabling Flutter developers to write portions of their app (or their entire app) using Typescript. It is a project with one large, ambitious goal. "Become React Native for Flutter". It aims to do that by:

  1. Decoupling the API surface of Flutter from the Dart programming language.
  2. Decoupling the development time experience of Flutter from the Dart programming language.
  3. Providing first-class support for over-the-air distribution of code.
  4. Providing an ecosystem of packages from pub.dev, automatically projected to supported languages and published to other package systems.

Hydro-SDK is currently only suitable for simple content. A few dozen Flutter widgets are supported. Content built with Hydro-SDK can be updated over the air using Hydro-SDK's built-in codepush. Content can be authored in a similar manner as in Dart with hot-reload and limited IDE debugging support.

Near Term

API Support

Continue expanding available Dart and Flutter APIs with automatic language projection (ALP) using Structured Wrapper and Interface generator for Dart (SWID). This effort is where the overwhelming amount of focus currently is. Having a stable and high quality ALP will allow for the re-use of existing packages from pub.dev in Typescript. This will also allow for expanding support for authoring Hydro-SDK content to other programming languages.

This work is tracked at a high-level in the Binding Generator project and in other sub-projects. This work is required to expand support for Flutter 2.8 (and 2.10) and is directly related to the following umbrella issues.

Medium Term

Developer Ergonomics

Improving developer ergonomics with more affective testing workflows and support for Typescript language features like async / await interop with Dart. This is being scoped and tracked at a high level in umbrella issues.

Performance

Establishing performance baselines through benchmarking. Some efforts to improve performance. This is being scoped and tracked at a high level in umbrella issues.

Long Term Projects

Developer Ergonomics

Lower the barrier to entry for developers with non-mobile backgrounds that are interested in trying out Flutter and Hydro-SDK.

Services

Registry

A closed-source component registry for first-class support for hosting and running over-the-air (OTA) update packages built using the open-source Hydro-SDK. This service is already live as a basic MVP.

Registry Value Adds

In the future, building paid features such as targeted distribution, analytics, feature flagging and logging directly into Registry are expected to be a viable path to monetization.

Language Support

Hydro-SDK is language agnostic. In the future, it should be possible to support authoring content in other programming languages to attract users from other ecosystems (Flixel, .NET, Xamarin).

Tier 1 (hot-reload, programmatic debugging, function maps)

Tier 2 (hot-reload, programmatic debugging)

Prior Art for Common Flutter Runtime

Prior Art for Structured Wrapper and Interface generator for Dart

Interesting Links and Resources

Hydro-SDK's Projects

basic-appbar-app icon basic-appbar-app

A demonstration of a Flutter appbar and material design icons with Hydro-SDK

hotel-booking-app icon hotel-booking-app

A demonstration of a highly custom Flutter UI with clips, stacks and network images with Hydro-SDK

hydro-sdk icon hydro-sdk

Author Flutter experiences in Typescript. No native bridge, no V8. Just Dart. From runtime to virtual machine.

progress_bar icon progress_bar

Progress bar for dart command-line apps. A port of node-progress to Dart.

version icon version

A dart library providing a Version class

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.