Richard



Maybe we put different meaning in the words.



The client centric paradigm:



To me an App is a client centric “program” without any programmatically
binding to the server. An App has the full range of MVC and may be run as
‘standalone’. It may synchronize its model with a server side DB through
web/rest services normally with intermediate formats such as XML and JSON.



Since there is no binding to the server technology in an App, so any server
technology may be used to service the same App and the server technology
may therefore be changed without affecting the App.



To give you an example on how may front-end programmers works. They have a
backend installed on their PC (Typical an XAMPP apache server). If the App
is EXT JS based the html document and javascript files for the App resides
on the XAMPP server and besides that if the App requires data some static
JSON files that mimic the server call. First when the App is finished the
backend programmer replaces the static JSON files with equivalent web/rest
services and the only thing the frontend programmer has to do is to change
the URL’s to point at the web/rest services instead.



You may be able to do the same in .NET, but many of the client centric
technologies also comes with its own SDK’s simply because they don’t want
the binding to server technology that e.g. .NET has.



The server centric paradigm:



The server centric paradigm most uses do server ‘control’ the UI and events
in the UI in some extend (jQuery, Angular etc. may reduce the binding).
Typical it will generate HTML for the client and use call backs to the same
‘active’ server page (ASP/PHP/CGIDEV2) on events in the UI.



The mixed paradigm:



Those we see a lot of. First the best known is jQuery, Angular etc. that
moves some of the event control into the UI and renders basic html to
advanced html by simply pointing back to javascript that updates the simple
html to advanced html. These technologies are not server centric but still
the server is in some extend the controller of the App.



Others we also know, .NET and also all the frameworks on IBM I from
Profound, Look etc. where many tries to ‘lean’ the old server centric
paradigm new tricks.



Other technologies such as Google GWT, Sencha GXT or EXT.NET goes a step
further because they generates javascript App’s on the fly on the server
but then uses web/rest services to provide the data.



My own powerEXT Framework is very much inspired by the latter since one
part generates javascript objects (grid and form configuration objects) to
the EXT JS App on the fly while another separate part provides data from
web/rest services. The web/rest services are also advanced since each
response has a metadata section that describes the data in the response.
This is of course very advanced because it enables me to create local
databases in the client where any changes made in the client is
automatically synchronized back to the web/rest service that created the
client DB.



In other words, when a grid is configured at launch time it binds to an
undefined DB object in the client. At the same time the generic App is
configured to call a number of web/rest services that creates these
undefined local DB with a description that causes the binding to the grid
to be active but also creates the binding between the local DB and the
web/rest service. The rest is controlled by events in the UI. If data is
changed in the grid the event is reflected to the local DB through the
binding, this causes an event in the local DB that then again synchronized
with the server automatically through the binding between the local client
DB and the web/rest service on the server and thereby the servers DB.



Javascript’s event driven model is crucial to the programming model because
even though javascript isn’t multithreaded one event doesn’t necessary wait
for other events in the chain of events to complete so the UI isn’t hanged
up by waiting for the server to be synchronized.



Node.js works with events on the exactly same way since it is javascript.
The biggest problem is not the technology but how ready and capable are
“old guard” programmers (.ASP, .NET, PHP, RPG and OPM COBOL) to adapt to so
different new programming paradigms?



To me there is no reason to run node.js on IBM I (or any other platform)
unless you need and understand javascript’s OO capabilities that isn’t
limited to ‘normal’ OO definitions such as classes and methods but also
includes prototyping and injection of code in initializing or already
running objects.



Let’s face it, node.js or powerRuby for that matter doesn’t appeal to the
“old guard” IBM I programmers and only few will ever be successful of
pursuing that goal where they probably would be better of using CGIDEV2 or
one of the proprietary middleware there is on the marked designed to
bringing them forward even though they may not design ‘top notch’ modern
applications that requires deep knowledge of modern techniques – a
knowledge you can’t require through using a tool but on by long education
that they all are reluctant to participate in or hasn’t the autodidact
skills or drive to learn.

On Tue, Oct 13, 2015 at 5:48 AM, Richard Schoen <
Richard.Schoen@xxxxxxxxxxxxxxx> wrote:

In case you didn't know, .Net can be used to develop desktop apps, web
apps, web services, etc.

So your understanding of .Net server centric apps is partially correct. it
all depends on the type of app you need.

If you happen to write an EXT JS application you can use any server back
end as you should already know (IBMi, PHP, .Net, Ruby etc.)

I thought you understood that any web app platform can backend an EXT JS
client ?

Regards,

Richard Schoen | Director of Document Management Technologies, HelpSystems
T: + 1 952-486-6802
RJS Software Systems | A Division of HelpSystems
richard.schoen@xxxxxxxxxxxxxxx
www.rjssoftware.com
Visit me on: Twitter | LinkedIn

-----Original Message-----

Arrh Richard

there is very big difference if you develop server centric applications
(like .NET)
or client centric applications (like EXT JS) that equals the binary APP's.

And there is very big difference in how the server side "looks like" in
the
two
different paradigms.

But you may have overlooked the difference ;-)

On Mon, Oct 12, 2015 at 10:17 PM, Richard Schoen <
Richard.Schoen@xxxxxxxxxxxxxxx> wrote:


Hmm... At least to the client side comment I would think they are all
using HTML/CSS/Javascript for client side development so not sure your
statement on that one rings true.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.