Version 1.0 - STABLE
This is the first stable release of Phosphorus Five. Some things had to be shaved out of the main code, but there should be somethings to please most developers in there.
Features;
- A minimalistic CMS, with the ability to create "lambda" pages.
- Hyperlambda executor, to evaluate Hyperlambda directly from within your browser.
- Intellisense Hyperlambda editor, with autocomplete for all registered Active Events.
- Examples for most possible scenarios.
- Lots of extension widgets, such as TreeView Ajax widget, DataGrid Ajax widget, DateTimePicker, ColorPicker, Modal Ajax Windows for most scenarios, etc, etc, etc. Most widgets are also extendible, such as the Modal Ajax Window, which you can populate with your own controls.
- Hyperlambda stable core programming language.
- Core Active Events for most scenarios used in daily programming.
Examples
In addition, there are tons of examples of how to use Hyperlambda, and all other components directly. It also features examples of how to use the Ajax library directly, without the Active Event core/Hyperlambda programming language, if you wish to only use the Ajax widgets, in for instance ASP.NET/WebForms through C# or VB.NET (etc).
Documentation
I have also (almost finished) the "guide" for P5, which is an interactive "book", written in Markdown format, that can be found here. The book describes most common parts of the Hyperlambda core, with links to YouTube videos, where relevant, where I dissect the different parts of P5, when necessary.
It should be possible to read through the book in a day or two, depending upon how deep you wish to go initially.
Hyperlambda
A new "programming language", created on top of Active Events, allowing you to "orchestrate" your apps together, creating software with almost the same process you would assemble LEGO bricks.
Hyperlambda is a naive (simple to understand) "programming language", which allows you to configure your app together, by orchestrating your Active Events written in C# and/or VB.NET (etc) together, and assemble them as loosely coupled components, instead of hard-wired code. To understand Hyperlambda, realise it's just a JSON type of file format, tying into the Active Event system of Phosphorus Five. I have written an article about some of the advantages with Active Events, that was just recently published in MSDN Magazine. Read the article here, if you wish.
Though using the name "programming language" might be considered slightly overkill, since it is intended for orchestrating parts together, written in other programming languages, such as C# and/or VB.NET - By hooking into your natively written code, through Active Events. In such a regard, although Turing complete, Hyperlambda can be thought of as a "configure language", to assemble your apps together, as loosely coupled components. This results in far more "Agile" software, and a much richer "plugin architecture" than traditionally OOP-built software would give you. While still allowing you to utilise your existing OOP skills, in e.g. C#, F#, VB.NET or any of the other existing CLR types of programming languages.
To illustrate this naiveness of Hyperlambda, realise there are no OOP constructs in it, and the syntax of the language, can be summed up with three items, describing a JSON similar file format, with a key/value/children collection. So don't let the idea of having to learn a new "programming language" scare you off. It's really just an easy way to orchestrate your Active Events together, with programming language constructs, such as while loops, branching (if/else-if/else), etc ...
Active Events
An entirely new way to orchestrate your applications' building blocks together, possible to use either directly through C#/VB.NET/F# - Or through Hyperlambda (see above section).
Active Events is actually just a design pattern, allowing you to invoke functionality cross component borders, in a "plugin fashion", facilitating for extremely loosely coupled components, and hence more "Agile" software. Read my MSDN Article about Active Events to get an overview of how they work, and their main advantage(s).
Anyways, have fun - And please submit bug reports and feature requests to Issues here.
Have a nice day :)
Thomas