Fayde is an open-source Javascript application framework that provides all these capabilities through its XAML layout/rendering engine. Unlike other frameworks, which focus exclusively on being an application framework, Fayde frees you from the confines of developing applications using HTML and CSS. It completely replaces it with XAML, an "eXtensible Application Markup Language".
Fayde is Silverlight on all platforms. It is written entirely in Javascript, so it can be used on all platforms and browsers. To deploy it as a desktop application, just compile it using node-webkit.
Sign up to stay in touch with the Fayde team and contribute to the direction of this product.
The easiest way to start developing with Fayde is to use the Yeoman generator the Fayde team has developed. This will allow you to set up and run a new Fayde application with just a couple commands.
If you already have npm, Gulp, and Yeoman installed you can move on to Step 2. If not, please follow the directions below.
npm install -g generator-fayde
The Fayde Yeoman Generator is a utility we will use in order to set up the Fayde project. It will create and configure all the files necessary to build and run a Fayde application.
Install the Fayde Yeoman Generator globally by typing the command: npm install -g generator-fayde
npm install -g fayde-unify
Unify is a very small command line tool for setting up and managing javascript libraries and typescript exports. Currently this is a requirement in order to run the fayde yeoman generator and only has to be run once.
Install unify globally by typing the command: npm install -g fayde-unify
From your command prompt, navigate to the directory where you would like to create your application.
Run "yo fayde" in order to create your application. Enter a name for your application and choose whether you would like to include two optional modules:
- exjs is a Typescript library that allows you to use Linq style syntax when working with Arrays.
- Fayde.Controls is a controls library for Fayde with things like TreeView, Menu, and TabControl.
Fayde projects are set up as Typescript projects. Running "gulp" from the command line will compile the Typescript into Javascript. To run your application, type "gulp serve" from the command line. This will open up your default browser and load the Fayde application. Any changes to views or code will automatically reload in the browser.
Start building your application and watch it change as you type your XAML. Live-reload is set up so the browser will reload and display your changes as soon as you save.
More documentation and tutorials are coming soon. Source code from the demos above is available to help you begin developing your Fayde applications.
Fayde has been initially developed as a port of Silverlight and includes all major features:
In addition, Fayde has added support for:
A lot is happening with Fayde. With all the possibilities that have been unlocked through Fayde, the developers are working to keep up with the dreams of what Fayde can become. This list is just the beginning...
The Fayde team is always looking for contributors. Please contact us with ideas, send us pull requests, or just let us know how your Fayde projects are going. We would love to hear from you.
For many years, software developers have been frustrated with platform choices for building applications. One of the most fundamental choices has been "Should I build a web application or a desktop application?".
"If I choose to build a web application, then I can easily deploy everywhere. However, the language, tools, productivity, and overall developer experience is poor. In addition, HTML was created for building documents and not a platform for building applications. As a result, the interface design will suffer because HTML just can't do what it should."
"If I choose to build a desktop application, I can use the languages and tools that will make me productive and capable of delivering a great application. The problem with a desktop application is that it can be difficult to deploy and in most cases I have to build many versions in order to reach my audience."
For many, including the developers at Fayde, things started to change when Microsoft released Silverlight and WPF. Silverlight provided developers with much better languages and tools to deliver first class applications over the web.
Software development had become much more focused on the business ideas and less on technical limitations...
And then came the death of browser plugins. As Silverlight and Flash/Flex phased out, many developers went back to using server-side rendering technologies such as ASP.NET or Rails. Others have attempted to create client-side frameworks (Angular, Ember, Knockout) with a lot of the same concepts that made Silverlight so popular. However, the problem with all of these approaches is that they are all bound by the limitations and frustrations of HTML and CSS. Unfortunately, the problems with HTML aren't going to be solved anytime soon. As long as the browser wars persist, innovation is restricted and the W3C will continue to require years to release a single specification.
Fayde is a software platform that restores productivity and control to the developer. Initially developed as a port of Silverlight, Fayde is looking to both restore and expand upon what Silverlight provided. As a completely open-source platform, the Fayde team is anxious to see what an extensible platform plus the power of the open-source community can create.