Flow9 Open Sourced
Written by Kay Ewbank   
Friday, 03 May 2019

Flow9 is a functional language with C-family syntax that can be used for building cross-platforms UIs with simple code. Its developers, from Area9, have now made it open source on GitHub.

Flow was started in 2010, predating Facebook's static type checker for JavaScript which has the same name. Its developers elected to keep the name, since it came first and as it is a complete platform for writing apps in a functional programming language, the risk of confusion seems small.  They also say that if necessary, flow9 can also be used to refer to this language.



Flow is in the ML family, is strongly typed, and supports polymorphism and subtypes. It is designed to look like other languages and be easy to learn. It is is intentionally designed to use a C-family syntax with curly braces as the developers think this is easier to learn for most programmers coming from JavaScript, Java, C# and similar. But in contrast to such languages, Flow is still an expression-based language,

Flow has been designed to have a minimalistic grammar to reduce complexity and ease porting to new platforms, and the same code compiles and runs on HTML5, iOS, Android, Windows, macOS, and Linux. There's a complete standard library written in flow itself, with natives for each backend, and an extensive UI toolkit based on Google Material Design guidelines. The UI toolkit is also based on Functional Reactive Programming.

The developers say that the main reason why flow is relevant now is due to the standard library for UIs, called Material. While flow is only now being open sourced, it has been in use for several years, and the UI library is now on version four. The developers of flow say it's the result of many years of experience with what really is important when you are writing cross-platform apps that need to work in browsers, on tablets & phones using keyboard, mouse and touch.

"It is one thing to design a UI toolkit that works for yourself and a small team of programmers, harder to design and refine a toolkit, which allows hundreds of programmers to work together and quickly and safely produce a coherent, beautiful user interface."

"So in our experience, it is not uncommon that a flow implementation takes 2-4 times less code than in HTML+CSS+JS, or even more when using the standard frameworks with C#, Swift or Java."

The main message from the developers is that flow is simple, proven, comes with a mature and capable UI library, and runs native on the web with a small runtime, as well as on mobile devices as native apps. It is now available on GitHub.




More Information

Flow website

Flow On GitHub

Related Articles

The Functional View of the New Languages  

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Sir Clive SInclair Dies Aged 81

Sir Clive Sinclair was the inventor who, as far as the UK was concerned, made home computing affordable, paving the way for today's thriving computer games industry.

Free Resources For Machine Learning

A browser extension and two free courses, "Machine Learning with Graphs" from Stanford and "Introduction to Deep Learning" by Sebastian Raschka are three excellent resources for mastering Machine Lear [ ... ]

More News





or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 03 May 2019 )