On Mon, 30 Mar 2009, Dariusz Mazur wrote:

> Michael Van Canneyt pisze:
> >
> > > > I just want to make them in pascal and keep the codebase and know-how I
> > > > have
> > > > in my team.
> > > >   
> > > >       
> > > As I. I want (i;ve done succesfully) reuse 90% of desktop code in
> > > webbased.
> > > But you want to rewrite quite huge part to JS. Why? What for.
> > >     
> >
> > Because some of the (rather complex) business logic must be in the client to
> > make it respond as a desktop application. 
> >
> > A simplified example: 2 sets of data. 2 comboboxes. User chooses from set 1
> > in combobox 1. Based on his choice, the data in the second checkbox must be
> > filtered. This must be done without round-trip to the server, because the
> > data 2 set is large, and combobox 1 is used often. So I need some part of
> > the business logic (complex relation between items in 2 sets of data) on the
> > client.
> >   
> I don't agree. Only one requirement should be fulfill, respond in reasonable
> time, say less than 500ms.

500 ms is WAY too slow.

> My way:  only visible rows are send to browser, say 30 rows, they took  about
> 3kb, time 3ms in LAN, 100ms when server is on second side of world. Rendering
> 100..300ms, on slow browser maybe longer. Even it it will be done after each
> of user action its no problem for server neither rest of infrastructure. On
> application side: its no matter that is desktop or web based, events and
> response are the same.

Nono. We're not talking about 30 rows, more like 5000-7000. Transmitted once,
when the window is opened. That the window is slow to open initially is OK, 
but once opened it should work lightning fast for the duration of use.

I simplified it a bit, but it is a real life example.

> Your way: first transmit whole database to browser, JS compute what part
> should be display. When set of date is bigger you can send partial. But after
> select combobox all data must be send  to compute filtering. On slight set it
> may work, but not on big.
> But even on small sets of data time of response will be notable (I've seen
> ExtJS demo, its only on browser side, and its work rather slow, can you
> expect, that most of your code will have better optimization)

I've seen it in action in Morfik, and it works fast.
 
> And what about transfer tons on JS to browser?

Ah, morfik has a nice thing for this: you can preload forms asynchronously.


> >   
> > > Till now there is no example of  any issue, that cant be done without
> > > translating pascal to JS without preserve all needs.
> > >
> > >     
> > > > If it was up to me, client/server would do the job just fine. But I
> > > > cannot
> > > > ask all parents of all pupils of all our schools to install a client
> > > > application:
> > > > a) They don't want it. They are mostly computer agnostic, but they can
> > > > surf
> > > > the internet.
> > > > b) Our helpdesk would find and emigrate to an unknown island somewhere
> > > > in
> > > > the 
> > > >    south pacific because of the installation and upgrade problems :-)
> > > >   
> > > >       
> > > I agree. But I think that is new niche (cloud computing) and chance for
> > > me.
> > > This is quite new opportunities,  many approaches , and we should know how
> > > choice proper.
> > >     
> >
> > As far as I'm concerned, Morfik is the correct approach. If I can do what
> > they do in Lazarus and open source: I'm sold.
> >   
> I cant found any site/application prepare by Morfik. Do you know any site,
> that I can see it at work.

The morfik site itself is the best example.
You can also download the chess example. (if it is still available)

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to