On 1/23/17, John Spikowski <supp...@scriptbasic.org> wrote:
> Eric,
>
> I'm a confused.
>


I’m merely fulfilling IUP’s own self-proclaimed mandate. I’m not doing
anything particularly special here. I'm just implementing a new
backend for IUP, just like all the other backends. From the first
paragraph on the main IUP website:


(1) “IUP is a multi-platform toolkit for building graphical user interfaces.”

(2) “IUP's purpose is to allow a program source code to be compiled in
different systems without any modification.”

(3) “it uses native interface elements.”



So to wrap your head around this, basically:

- IUP currently has native backends for Windows, GTK, and Motif which allows
for native GUI apps on those platforms.

- I introduced IupCocoa, which is a backend written using Obj-C/AppKit
so we can take cross-platform IUP apps to Mac and get the native GUI
experience on Mac.

- I introduced IupCocoaTouch, another backend written in Obj-C/UIKit
so we can take our IUP apps to make native iOS apps.


- I introduced IupAndroid, another backend written using the Android
SDK with Java/JNI, so we can take our IUP apps to make native Android
apps.


- So finally, imagine the web browser itself as a platform (a peer to
Windows, Mac, iOS, Android, GTK, Motif). (Since the web browser
duplicates so much functionality of what we normally find in operating
systems, some people have referred to the web browser as an “operating
system”. This might help your mental model, e.g. Windows, Mac, Linux,
Web Browser.)

So this is just another backend for IUP so now we can take our IUP
apps and make “native” web browser apps.


There is nothing magical about this concept. A web browser backend for
IUP is not fundamentally different than any of the other backends
(e.g. GTK). It is only implementation detail on how to get there.



Based on your confusion, I’m guessing you haven’t watched or haven’t
fully grokked “The Birth & Death of JavaScript” talk I recommended. I
recommend you watch that (again). Take notice of the Unreal Engine
example. What we normally would compile and ship as a native app for
Windows/Mac, they now recompile their exact same code base, targeting
the Web Browser as the platform instead. So instead of making users
download/install a native Windows/Mac app, users can run the exact
same program through the web browser instead.

https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript)

Once all these backends are in place, IUP users can offer their users
multiple options for their programs, e.g.:
- Windows version
- Mac version
- Linux x64 version
- iOS version
- Android version
- Web browser version

So, say the user is running on a Raspberry Pi. Oops. They don't get a
native version. But they can fallback to the web browser version.

Also, not everybody likes to download/install apps, especially if they
only want to try your app out or expect they just need a one-off.
Having a web browser option can be nice for people like this.

-Eric

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to