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 InformationRelated ArticlesThe 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.
Comments
or email your comment to: comments@i-programmer.info |
Last Updated ( Friday, 03 May 2019 ) |