comp.lang.ada
 help / color / mirror / Atom feed
* Gnoga + Electron + Node.js = Cross Platform GUIs
@ 2015-12-31 19:13 David Botton
  2015-12-31 23:55 ` Shark8
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: David Botton @ 2015-12-31 19:13 UTC (permalink / raw)


Gnoga using the Electron (http://electron.atom.io/) project offers full cross platform native desktop GUIs and access to all of Node.js

The support is in git HEAD for Gnoga

Make sure you have node.js installed and npm on your path

Run in gnoga's root 'make electron' and this will install deps/electron-quick-start and copy in electron.html -> index.html and electron_boot.js to the electron-quick-start directory

Then start up a gnoga app, say bin/tutorial1 or what have you and then run in deps/electron-quick-start  - npm start

You can modify main.js to remove the developer tools in deps/electron-quick-start/main.js

Using this setup up you can easily bind to _any_ Node.js APIs and installed modules plus any browser based JS.

I will be adding Gnoga bindings to all the Electron desktop integration APIs for full native experiences on Linux, Mac and Windows in the near future and writing up how to more tightly integrate for release a single gnoga/electron app. (As a result I will be deprecating the OS X native support. I will leave the Gtk native example for those wishing to see how to mix Gtk with Gnoga).

David Botton

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2015-12-31 19:13 Gnoga + Electron + Node.js = Cross Platform GUIs David Botton
@ 2015-12-31 23:55 ` Shark8
  2016-01-02 21:07 ` ogpual
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Shark8 @ 2015-12-31 23:55 UTC (permalink / raw)


So, IIUC, this means Gnoga is getting close to doing a full cross-platform desktop/GUI application, right? -- That's pretty amazing; it took Borland years and years to get Delphi onto Linus [aka Kylix (2001)] and, after that fell through, the better part of another decade to get to FireMonkey (2011).

Thank you for your hard work and enthusiasm! :)


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2015-12-31 19:13 Gnoga + Electron + Node.js = Cross Platform GUIs David Botton
  2015-12-31 23:55 ` Shark8
@ 2016-01-02 21:07 ` ogpual
  2016-01-03  1:09   ` David Botton
  2016-01-10 14:24 ` Michael Erdmann
  2016-01-12 14:13 ` Jere
  3 siblings, 1 reply; 8+ messages in thread
From: ogpual @ 2016-01-02 21:07 UTC (permalink / raw)


On Thursday, December 31, 2015 at 11:13:57 AM UTC-8, David Botton wrote:
> Gnoga using the Electron (http://electron.atom.io/) project offers full cross platform native desktop GUIs and access to all of Node.js
> 
> The support is in git HEAD for Gnoga
> ...

Thanks much for the very nice news for the new year!!

Does this have anything to do with me not being able to connect to http://www.gnoga.com/ this year?  (request times out)


Al



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2016-01-02 21:07 ` ogpual
@ 2016-01-03  1:09   ` David Botton
  0 siblings, 0 replies; 8+ messages in thread
From: David Botton @ 2016-01-03  1:09 UTC (permalink / raw)


> Does this have anything to do with me not being able to connect to http://www.gnoga.com/ this year?  (request times out)

No, that has to do with the entire VM for the server crashing :(

One point of interest is that Gnoga servers (gnoga.com and others running Gnoga apps around 10 now in production) have been rock solid running in production now for months with no crashes or hickups (unless related to the network or as in this case the entire VM crashing)

David Botton


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2015-12-31 19:13 Gnoga + Electron + Node.js = Cross Platform GUIs David Botton
  2015-12-31 23:55 ` Shark8
  2016-01-02 21:07 ` ogpual
@ 2016-01-10 14:24 ` Michael Erdmann
  2016-01-10 18:40   ` David Botton
  2016-01-12 14:13 ` Jere
  3 siblings, 1 reply; 8+ messages in thread
From: Michael Erdmann @ 2016-01-10 14:24 UTC (permalink / raw)


Hallo David,

thanks for the hint; i was not aware of Electron!

I think nobody needs any more Gnoga; the visualisation part is done by chromium executing 
Java Scripts. Node is basically used to implement the business logic of the application. So 
where fits Ada in?

/Michael




On 31 Dec 2015 08:13 PM ,David Botton <david@botton.com> wrote:
> Gnoga using the Electron (http://electron.atom.io/) project offers full cro=
> ss platform native desktop GUIs and access to all of Node.js
> 
> The support is in git HEAD for Gnoga
> 
> Make sure you have node.js installed and npm on your path
> 
> Run in gnoga's root 'make electron' and this will install deps/electron-qui=
> ck-start and copy in electron.html -> index.html and electron_boot.js to th=
> e electron-quick-start directory
> 
> Then start up a gnoga app, say bin/tutorial1 or what have you and then run =
> in deps/electron-quick-start  - npm start
> 
> You can modify main.js to remove the developer tools in deps/electron-quick=
> -start/main.js
> 
> Using this setup up you can easily bind to _any_ Node.js APIs and installed=
>  modules plus any browser based JS.
> 
> I will be adding Gnoga bindings to all the Electron desktop integration API=
> s for full native experiences on Linux, Mac and Windows in the near future =
> and writing up how to more tightly integrate for release a single gnoga/ele=
> ctron app. (As a result I will be deprecating the OS X native support. I wi=
> ll leave the Gtk native example for those wishing to see how to mix Gtk wit=
> h Gnoga).
> 
> David Botton


-- 
Posted by Mimo Usenet Browser v0.2.5
http://www.mimousenet.com/mimo/post


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2016-01-10 14:24 ` Michael Erdmann
@ 2016-01-10 18:40   ` David Botton
  0 siblings, 0 replies; 8+ messages in thread
From: David Botton @ 2016-01-10 18:40 UTC (permalink / raw)



> Java Scripts. Node is basically used to implement the business logic of the application. So 
> where fits Ada in?

Node.js is only acting here is a layer between Gnoga and the OS to allow it to be cross platform.

Certainly it is possible to implement your application in JavaScript if you want. However if you want the advantages of Ada than you do the implementation of your business logic or other programming tasks in Ada.

As I believe that Ada is an ideal solution for critical systems I choose to use it over JavaScript. No one seriously developing large scale applications uses JavaScript the language or if they must at least use typescript or other extension of the language.

Also electron is just one way of using Gnoga for cross platform GUIs, In general I find just have the Ada app launch a browser to be sufficient for my needs or good old remote access via a URL. In those cases no need for Node.js around.

Gnoga is particularly great at offering nice GUIs to Raspberry Pi projects and other embedded systems as unlike other solutions web based solutions there is an active connection between the device and the browser for real time monitoring and control no need for round trip Ajax, etc. like AWS or other traditional http based solutions.

David Botton


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2015-12-31 19:13 Gnoga + Electron + Node.js = Cross Platform GUIs David Botton
                   ` (2 preceding siblings ...)
  2016-01-10 14:24 ` Michael Erdmann
@ 2016-01-12 14:13 ` Jere
  2016-01-12 19:53   ` David Botton
  3 siblings, 1 reply; 8+ messages in thread
From: Jere @ 2016-01-12 14:13 UTC (permalink / raw)


On Thursday, December 31, 2015 at 2:13:57 PM UTC-5, David Botton wrote:
> Gnoga using the Electron (http://electron.atom.io/) project offers full cross platform native desktop GUIs and access to all of Node.js
> 
> The support is in git HEAD for Gnoga
> 
> Make sure you have node.js installed and npm on your path

What kind of user deployment package will this require?  I.E. do I need to install electron and node.js packages on each of my users computers separately, or will it be like the standard Gnoga app where I just add the needed files to a directory near the gnoga executable (without needing to mess with the user's path var) and it all runs fine?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Gnoga + Electron + Node.js = Cross Platform GUIs
  2016-01-12 14:13 ` Jere
@ 2016-01-12 19:53   ` David Botton
  0 siblings, 0 replies; 8+ messages in thread
From: David Botton @ 2016-01-12 19:53 UTC (permalink / raw)


You should be able to use the standard packaging mechanisms for Electron for all three platforms. So on linux a dep or rpm with some dependencies, on Mac you would probably want to recompile and sign the xcode project to fully deploy for commercial but could just modify the provided "App" structure from Electron. I have not looked at windows deployment but the Atom editor and other projects using it do not install other packages so I assume something similar.

It is not a high priority (personally I am satisfied with just popping open a browser on all platforms) but will get to packaging tutorials and tighter integration and binding Electron's OS feature APIs (notifications, badges etc.) in the next months.

> What kind of user deployment package will this require?  I.E. do I need to install electron and node.js packages on each of my users computers separately, or will it be like the standard Gnoga app where I just add the needed files to a directory near the gnoga executable (without needing to mess with the user's path var) and it all runs fine?

So yes, no need to fiddle with the user's path or other system wide vars.

David Botton

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-01-12 19:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-31 19:13 Gnoga + Electron + Node.js = Cross Platform GUIs David Botton
2015-12-31 23:55 ` Shark8
2016-01-02 21:07 ` ogpual
2016-01-03  1:09   ` David Botton
2016-01-10 14:24 ` Michael Erdmann
2016-01-10 18:40   ` David Botton
2016-01-12 14:13 ` Jere
2016-01-12 19:53   ` David Botton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox