Doing a web only app is a solution but not the best one to me. And there are 
ways to update a desktop app, especially if pharo based. 

Ok for mobile but I think also this deserve specific dev. The holy grail of 
writing once deploy everywhere is nice but in my limited experience this is 
more a question of compromise and at the end you get something pretty annoying 
and inconsistent. If you cannot develop native (or even hybrid) on tablet, then 
pure web is an option but not a cool one. 

Last point is I want now distributed apps that work offline and online. It’s 
doable with web apps but kind of more difficult to manage. In your hypothetical 
example, no connection = no app ? Another solution is using a local web server 
but it doesn’t feel very native again.  There are solutions like electron too 
but still, even if I find them quite nice, I cannot stand the launch time...

So, to me, I’m really happy that SPEC provides now native windows. And as you 
say there is seaside and all other web stack lib like zinc etc... so best of 
both world.  

My 2 cents,

Cédrick 

> Le 19 avr. 2019 à 23:50, TedVanGaalen <ted...@gmail.com> a écrit :
> 
> Hi Esteban 
> let me write an example: (lots of time at the moment)
> --------
> Hypothetical CASE 1 Stand Alone Solution:
> 
> Currently it's just a pilot/study project, but let's assume for a moment
> that after a year so of really hard working on it in Pharo, I finally
> completed my dental application system, that is, as as a stand-alone desktop
> application...
> 
> After splatting a few initial bugs, the dental clinic is happy with my new
> dental application, and they paid my bill. Mods were relatively easy to
> implement, because it is Smalltalk, not to mention the fantastic debugger
> facilities, simply very cool. 
> 
> They need to run the app simultaneously on 4 computers: that is 4 stand
> alone apps running their own separated Smalltalk images. Using a Postgress
> server as a DB on one of their PCs tied everything together. Apart from
> having to install live Smalltalk images om each computer, backing them up
> etc. not much of a problem, one would think, right? So far so good. ...apart
> from having to install and maintain the app on each and every computer they
> use, that is...
> 
> Two weeks later after my app went real: The clinic is expanding and another
> 3 computers will be added soon, meaning yet even more to install and
> maintain. Hey! also a new update of Pharo arrives, I need to update 7 images
> import my apps packages in the new images again. ( let alone the many system
> updates on especially Windows machines) Test if everything works ok again
> etc. Having no down-time is crucial: all done outside of the clinic's
> working hours, of course. Great.
> 
> Oh, I almost forgot: they will install a iPads and/or Android tablets soon,
> which will mounted close near each patient chair. They do that anyway
> because analytical imaging apps and a drill controlling app of other firms
> run on these tablets. They would be happy if they could run my dental app on
> these tablets too, so they don't have walk back and forth to their PCs all
> the time.
> 
> Jikes! Now I am really stuck! Because I wrote a stand alone app that doesn't
> run on these tablets! What can I do? 
> Write special versions of my app for Androids and iPads? Impossible! this
> would take me a year or so. Nightmare.
> 
> In the end the clinic dumped my app and thus me, and bought another app from
> another firm, which runs on all devices because it is a web app. How could I
> be so stupid not to make it a web browser app in the first place?
> --------
> Hypothetical CASE 2: App as Web Browser App:
> 
> Took a more modern approach: programmed my app for user access via a web
> browser, A web browser is, if you really look at it, in fact nothing more
> than a very advanced user terminal with endles GUI possibilities. Which btw
> allowed me to style the app esthetically in any way my customer likes. Now
> the cool thing is, on many devices, whether PCs, Macs, Android and Apple
> tablets and Phones the user GUI presentation and interaction is nearly
> identical. Which implies, I have to write my dental app only once, and it
> will run on any device that is connected to an intranet or internet.  Not
> only that, there is  just *one* single Pharo Image running instead of many
> stand alone apps on an ever changing nr of computers. .When installing a new
> Pharo version or update the app, I test it on another Pharo/Seaside server
> and can switch seamlessly between the two. The dental clinic is happy
> because it runs flawlessly on all devices they have and expanding or
> shrinking the number of devices is no problem. Not only that, In case of
> problems one can switch in no time to the shadow server app so we have
> continuity here.
> 
> There is another important advantage as well. The users interacts with the
> app in a browser window only, (a thin client)  that means they don't have
> access to the real application, that is, the delicate Smalltalk image of the
> Pharo/Seaside server app which runs 24/7 on a reasonably fast computer in a
> locked room with an emergency power supply of course, together with its
> friend the Database, and the room is only accessible by a responsible
> employee(s). 
> 
> I am happy too, not only because the customer is, but also because I avoided
> a nightmare and can do maintenance and updates, say, in 5 % of the time
> needed when I had to do maintenance for e.g. 7 stand alone apps running om
> separate computers.
> --------- 
> So far for my hypothetical examples, just to illustrate.
> 
> Note that on the internet, each site that you might visit is of course a web
> app of its own. So you probably interact with more web apps than you'd
> realize. Note that some are really advanced like e.g. web shops like Amazon.
> There are many good websites that function really great, but a lot are
> almost depressing. You're absolutely right that a lot of it is inferior, but
> you might have noticed also that things are slowly improving.  
> 
> This bad quality with (still) many web apps/sites is because as you know
> these are mostly built with chaotic hybrid systems/tools and unsafe
> languages like Javascript, ever changing packages, interfaces, tools etc.  
> 
> Compared to that, building web apps with Pharo/Seaside is a lot more
> straight forward and reliable, because everything is done in the Smalltalk
> image.
> 
> Note that the web browser is not the limit itself, but rather the web app
> using the browser GUI. You can really design and build beautiful and
> ergonomically sound web apps, because there are so many possibilities.
> 
> However, the main reason for choosing to make apps as web apps is that it is
> the only way to get your app and data accessible op nearly all devices.
> Build it once and run it everywhere.
> 
> You see, this is a typical application developer's perspective, not that far
> from reality, I can tell you that.
> 
> Kindly asking Tool Developers to learn more about the people and their
> environment they build tools for.
> because it's not only tech but a lot of things around it too.
> 
> In any case Smalltalk/Pharo/Seaside is a great to build apps with.
> Unfortunately a lot of people still don't know this.
> Kind Regards
> Ted
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
> 

Reply via email to