[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
@Robert This discussion was continued here: https://github.com/shashi/Escher.jl/issues/1#issuecomment-124576960 On Sun, Jul 26, 2015 at 8:49 PM, Robert Feldt robert.fe...@gmail.com wrote: Michael, This is not exactly what you are asking for but at least there are some plans for integrating Vega.jl (d3-based) and Escher.jl at some point: https://github.com/johnmyleswhite/Vega.jl/issues/16 If you/others know about other ways to have d3-based/interactive graphs in/with Escher please share. Regards, Robert Feldt Den fredag 24 juli 2015 kl. 19:10:49 UTC+2 skrev Michael Turok: Package looks beautiful. I see that you are using Gadfly, and using rendering offered up by the Compose package. Any thoughts about how I would render a d3-based infrastrcture? Michael On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
Michael, This is not exactly what you are asking for but at least there are some plans for integrating Vega.jl (d3-based) and Escher.jl at some point: https://github.com/johnmyleswhite/Vega.jl/issues/16 If you/others know about other ways to have d3-based/interactive graphs in/with Escher please share. Regards, Robert Feldt Den fredag 24 juli 2015 kl. 19:10:49 UTC+2 skrev Michael Turok: Package looks beautiful. I see that you are using Gadfly, and using rendering offered up by the Compose package. Any thoughts about how I would render a d3-based infrastrcture? Michael On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
Package looks beautiful. I see that you are using Gadfly, and using rendering offered up by the Compose package. Any thoughts about how I would render a d3-based infrastrcture? Michael On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
Looks super! Nice to see such a cool mix of features (functional, reactive, websocket, html5, Tex support,...) I just have one concern: since the GUI is immutable and involves a lot of julia code generation (and hence compilation): what's the performance like? On Monday, June 8, 2015 at 6:23:21 PM UTC+2, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
This is absolutely fantastic!!! A common impediment I've heard regarding why Julia is not adopted for more general/web programming is it's lack of GUI and other general toolkits/libraries. This will help immensely I think. Have you considered adding facilities to wrap arbitrary JS libraries ala R's HTML Widgets http://www.htmlwidgets.org/? Or does this not go along with the server side philosophy? On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
On Monday, June 8, 2015 at 4:23:21 PM UTC, Shashi Gowda wrote: My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. I see, world domination for Julia is getting a lot closer.. :) A. While you say rich interactive and on the page vector graphics, I wander about support for really interactive as in 3D/2D games or interactive 3D plots.. (e.g. WebGL or canvas, you have plots so I guess they are made server side and you just link to pictures) and video (those are I guess not a problem). Not that I'm criticizing.. This is great, as is, and enough for many, most? not only the Julia target audience. There is another thread here on supporting at least 3D (OpenGL ES, not WebGL) in Android (and iOS would be a possibility). B. [Just looked up Java/Dukescript Minesweeper example, that is 1202 SLOC/1.8 MB + XML.. but at least it is portable to all platforms and the web.. https://dukescript.com/update/2015/01/04/Common-misconceptions-about-DukeScript.html http://wiki.apidesign.org/wiki/MineSweeper ] Just looking at 80-line (90, really, there are comments.. just looked up Java/) Minesweeper example, seeing not really any boilerplate code, I wander how easy it is to make this portable. It's ok I guess if you made something on your PC and it displays in your browser (localhost), but in Android this should of course work from a server, I'm just not sure as Android is not a server OS, that you can run both the server and client part there. That is what hybrid apps/WebViews are for I understand. I guess it could be made too work, and also for iOS. The problem with pure standalone web app, say for Firefox OS, the least of my concerns.. not sure it will take off, would be to get the server part (that would include the whole of Julia runtime..) to also run in the phone/tablet/TV.. And a MIPS Firefox OS tablet under $100 (that also supports Android) was announced also complicating supporting that/those OS.. For a pure Windows, Linux or Mac app, I guess you could reuse everything. We can neglect Firefox OS/pure standalone apps for now.. I'm a little conflicted what is needed for world domination, people consider JavaScript an important language to learn as the web uses it and everything is there and now JS even outside of it.. I hate to be force to use it and you seem to have shoot down that argument.. I wander if I need to learn any web-technologies, such as jQuery etc. (I'm a little ignorant of all those), or if you can still access them (or need too). I think the only APIs you need in the web may be the DOM and you have that? C. As your project is also a web-server, would that be a problem for big sites? I'm not sure you need Apache anyway.. maybe you can have that (or other web servers) for static content. For dynamic, I'm not aware of any mod_julia, and not sure it is a problem. What do the others with good concurrency, Erlang and Go, do, always have web serving inbuilt? Now, I'm really curious, I understand Go's goroutines are not the same as coroutines, but close enough, is Julia at least good enough? Better? * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. I'm not sure this is a problem.. hopefully Safari will just catch up soon to support any big web apps people may be planning, by the time of completion.. Any idea about IE? Alternatively, adding support for Safari, as is, working better is an option? -- Palli.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
There is no compilation of Julia code into JavaScript. At the cost of simplifying, you essentially manipulate a shadow DOM in Julia, that generates the corresponding HTML. And browser events are delivered to Julia using reactive signals. So yes, I suppose you could say that it is all driven from the server. On Tuesday, 9 June 2015 14:01:43 UTC+1, Sebastian Good wrote: Looks pretty interesting and in line with a lot of current web framework thinking. Are there any pieces inside Escher which help with compiling Julia code to JavaScript? Or is it all driven from the server? On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
Looks pretty interesting and in line with a lot of current web framework thinking. Are there any pieces inside Escher which help with compiling Julia code to JavaScript? Or is it all driven from the server? On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
Re: [julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
Great!!! :D On Mon, Jun 8, 2015 at 1:41 PM, Simon Danisch sdani...@gmail.com wrote: This looks great =) Am Montag, 8. Juni 2015 18:23:21 UTC+2 schrieb Shashi Gowda: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help. -- -- Filipe Braida do Carmo - BSc em Ciência da Computação - Universidade Federal do Rio de Janeiro - UFRJ Mestre em Engenharia de Sistemas e Computação - PESC/COPPE/UFRJ Doutorando em Engenharia de Sistemas e Computação - PESC/COPPE/UFRJ
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
Shashi: This looks really cool. And I'll be trying it out soon... thanks for the effort. On Monday, June 8, 2015 at 12:23:21 PM UTC-4, Shashi Gowda wrote: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.
[julia-users] Re: Announcement: Escher.jl - a toolkit for beautiful Web UIs in pure Julia
This looks great =) Am Montag, 8. Juni 2015 18:23:21 UTC+2 schrieb Shashi Gowda: Hello all! I have been working on a package called *Escher* over the past several months. It is now quite feature-rich and ready to use in some sense. I put together an overview here: https://shashi.github.io/Escher.jl/* My aim is to converge at a UI toolkit that any Julia programmer can use to create rich interactive GUIs and deploy them over the web, *within minutes*. Escher simplifies the web platform into a simple and pleasant pure-Julia library. You don't need to learn or write HTML or CSS or JavaScript. Many problems associated with traditional web development basically disappear. There is no need to write separate front-end and back-end code, layouts are tractable and similar to layouts in the original TeX. Communication is done under-the-hood as and when required. No boiler plate code. Things just look great by default. Briefly, here is how Escher works under the hood: - A UI is an immutable Julia value that is converted to a Virtual DOM http://en.wikipedia.org/wiki/React_%28JavaScript_library%29#Virtual_DOM using the Patchwork https://github.com/shashi/Patchwork.jl library. Compose graphics and Gadfly plots also get rendered to Virtual DOM as well. - Subsequent updates to a UI are sent as patches to the current UI over a websocket connection - Input widgets send messages to the server over the same websocket connection - Complex things like tabs, slideshows, code editor, TeX and dropdown menus are set up as custom HTML elements using the Web Component http://webcomponents.org/ specification, mainly using the Polymer library http://polymer-project.org/. These things are just Virtual DOM nodes in the end. This is still a work in progress, I am very happy to receive any critique on this thread, and bug reports on Github https://github.com/shashi/Escher.jl. I am very excited to see what you will create with Escher. Thanks! :) Shashi * - Escher uses some bleeding-edge Web features, this page might not work so well on Safari, should work well on a decently new Chrome, and on Firefox if you wait for long enough for all the assets to load. I will be fixing this in due time, and also working on a cross-browser testing framework. PS: I have been dealing with RSI issues of late and my hands will appreciate any help with expanding the documentation! See https://github.com/shashi/Escher.jl/issues/26 if you wish to help.