Platform for protected, straightforward and productive programming of complicated, multi-platform apps with a contemporary person interface
circulation is a platform for protected, straightforward and productive programming of complicated, multi-platform apps with a contemporary person interface.
The circulation platform consists of
- The circulation programming language, a protected, practical strongly-typed programming language
- The flowc compiler, an incremental compiler for a number of targets
- The circulation runtime & normal library, which supplies a whole cross-platform library together with mature UI elements
circulation has manufacturing high quality targets for:
- HTML by way of JS
- Home windows, Mac, Linux
import runtime; important()
- circulation is an easy, practical language within the ML household
- C-family syntax
- Strongly typed, polymorphism, subtypes
- Designed to appear to be different languages and be straightforward to study
- Minimalistic to scale back complexity and ease porting to new platforms
- Similar code compiles and runs on HTML5, iOS, Android, Home windows, macOS, Linux
- Manufacturing high quality. Software program utilized by thousands and thousands of customers
- Pixel precision—high-design, responsive UI on all platforms with similar code
- Full normal library written in circulation itself, with natives for every backend
- In depth UI toolkit primarily based on Google Materials Design tips
- UI toolkit primarily based on Purposeful Reactive Programming
Be sure you have Git LFS put in.
Try this repository with one thing like
git clone https://github.com/area9innovation/flow9
flow9binto your path. We additionally require 64-bit Java Runtime and Python in your path.
Cd into the flow9 listing and compile and run the primary program:
c:/flow9> flowcpp demos/demos.circulation
If this doesn’t work, be sure you have Git LFS put in.
You must reclone the flow9 repository after putting in Git LFS, or use
git lfs pull.
demos/demos.circulation to learn the code for this instance.
See doc/readme.markdown for additional documentation in regards to the language
and platform, together with extra particulars on the best way to get began.
There’s a weblog about circulation right here:
There’s a chat in Telegram for discussions about circulation:
There’s a mailing listing group in teams.io about circulation as properly:
Your first message requires moderation approval to keep away from spam.
flowcis the present compiler, written in circulation itself. See instruments/flowc. Can work as a compile server.
circulationis the unique compiler, written in haxe. See instruments/circulation
- Single-step debugger utilizing gdb protocol (see platforms/qt)
- Profiler for time, directions, reminiscence, rubbish assortment
- JIT (just-in-time) compiler for x64, interpreter for ARM and others
- Compiles to C++ and Java for performance-critical code, sometimes server facet
- IDE/Code editor assist for VSCode, Chic Textual content, Kate & others
- Mature PEG parser generator. See doc/lingo.markdown
- bin – binaries for the compiler and associated instruments
- debug – code for the debugger and profiler
- demos – a demo program exhibiting how the UI library can be utilized
- doc – documentation of the language and libraries
- lib – the circulation normal library
- platforms – the circulation runtime platforms supply code
- assets – integrations with VS code (beneficial), Sublimetext and extra
- sandbox – comprises whats up world
- instruments – the compiler and processor for rendering fonts
- www – required information to be uncovered by the web-server for working circulation packages on-line
- www_source – the supply information of a number of the information within the www folder
The circulation compiler is licensed beneath GNU Basic Public License model 2 or any later model.
The circulation normal library is launched beneath the MIT license.
For the license of different elements, see LICENSE.txt.
circulation was began in 2010. This predates the ‘circulation’ typechecker from Fb. Thus, we elect
to maintain the identify, because it got here first, is a full platform and the chance of confusion appears small.
Nevertheless, ought to the necessity come up, then
flow9 may also be used to discuss with this language.
- August 2010: The very first program ran on Flash & HTML5
- November 2013: First app authorised in iOS retailer
- April 2014: First app authorised in Android PlayStore
- November 2015: Flash was retired, utterly migrated to HTML5
- January 2016: Materials tips applied
- November 2016: JIT for x64 was added
- Might 2018: Self-hosted compiler written in circulation itself
- April 2019: Preliminary open supply launch