Giter VIP home page Giter VIP logo

granular's Introduction

Granular - WPF for JavaScript!

Granular is a re-implementation of WPF which is designed to run in the browser, it aims to bring to web applications the same development experience as WPF brings to desktop applications (with xamls, code-behind, real MVVM).

Using Saltarelle C# to JavaScript compiler, Granular fills the gap between a simple JavaScript "Console Application" and a full "WPF Application".

See it in action

GranularPad is a good showcase of the current Granular framework capabilities (don't forget to inspect the visual tree in the DOM :)

How does it work?

Granular can be separated into two parts:

  • Presentation - Maintains a visual tree (with dependency properties, routed events, animations and so on) which is completely separated from its host, exactly the same way as WPF does.
  • Host - Contains a minimal rendering engine and a raw events source, the Presentation part interacts with the Host the same way as WPF interacts with MilCore (DirectX adapter) and WndProc messages.

Creating a new Granular application

Granular aims to seamlessly replace WPF so that Granular applications could be created in addition to existing WPF applications, share the same source code, and deploy to a different environment.

In addition to a browser, Granular can also be hosted in a desktop application, so that verifying compatibility with WPF could be easily done with Visual Studio.

More details on Granular applications configuration can be found here

Supported features

A list of the currently supported features can be found here

granular's People

Contributors

yuvaltz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.