New widget set : Web Application mode lazarus / 6-IDE-CodeTools ---------------------------------------------------------------------- Anonymous · 2006-06-16 15:51 Hello. I think it will be very interesting to have a new mode in Lazarus-Free Pascal. The Web Application Mode (like Intraweb controls in Delphi). Compiling in this mode, the resultant application must be a mini-web server, showing the application in estandar HTML and Javascript pages. Sorry for my english. Congratulations for a great work. Marc Guillot. ---------------------------------------------------------------------- Phil · 2006-06-18 15:31 Marc, That's a very interesting idea: a Web widgetset. I don't have enough experience developing either a Laz widgetset or Web-based apps to know if this is practical or not. If you have experience with developing Web-based apps, perhaps you could expand a bit on your idea and get a discussion going. ---------------------------------------------------------------------- Lord_ZealoN · 2006-06-19 15:39 Would be great. And something like PHP but in pascal. Yes, exists Pascal Server Pages, but is discontinuated. ---------------------------------------------------------------------- Anonymous · 2006-06-19 19:07 Quote from: "Phil"Marc, That's a very interesting idea: a Web widgetset. I don't have enough experience developing either a Laz widgetset or Web-based apps to know if this is practical or not. If you have experience with developing Web-based apps, perhaps you could expand a bit on your idea and get a discussion going. I have no idea to develop a new Laz widgetset too. (Really I'am not sure if we must better talk about a new platform to support). Is very easy to write a Web application using it (Intraweb in Delphi). You code it exactly the same way for a host application (no need of html and javascript knowledge). http://www.delphizine.com/productreviews/2002/06/di200206ps_p/di200206 ps_p.asp ---------------------------------------------------------------------- felipemdc · 2006-06-19 22:19 Quote from: "Anonymous"I have no idea to develop a new Laz widgetset too. Fortunately there is a tutorial about this =) http://wiki.lazarus.freepascal.org/index.php/LCL_Internals#How_to_crea te_a_new_Widgetset But I don´t know how this would work for a web application. It would be necessary to understand exactly what IntraWeb does. Two options that come to my mind are: 1 - Transform the lazarus software into a CGI program 2 - Create another compiler that will read Lazarus code and transform it into html+javascript Which of these (and other options I don´t see) IntraWeb does? ---------------------------------------------------------------------- CCRDude · 2006-06-20 07:40 I have no idea about IntraWeb, but since this was mentioned as a web widget, I would imagine * Pascal application listens on defined port (80 or custom) * App is invisible or has only status window, and serves forms as HTML to client * The server could be in two parts: a simple web server for basic files, and a webservice for more (disadvantage: I don't know if a web service class exists and if so, if it would co-exist with a parallel file server on the same port). * Clicks would still be easy if the whole "window" is a form * Most things would be AJAX: * using javascript events to report minor things like keypresses to the server * changes the server does on those events would be the most complicated thing I guess; there would be need for a communication structure between the Pascal server app and the JS client app for visual changes. Well, actually I need a Lazarus web server app in the near future, and with that tutorial page in mind, I can try to implement a few things as a start. My concerns would be: * HTML is a standard defined to create pages that are independent on screen resolutions, even if many web programmers don't care about that - forms are usually very strict in size. So either this takes good coding (using Align a lot, making it more difficult for the widget), or ignores the standards. * HTML even with AJAX is still kind of unidirectional. The client can fire events like clicks, keypresses etc. that will not reload the whole form (making it quite unusable) and gets feedback. We could define some kind of message transport structure so that the handler called by the page could change things on the page. But the widget would not to store copies of nearly everything, because the widget can't just "ask" the client on its own, it's dependend on those events. Hmmm. I guess I will try something "simple": code that transforms a form into HTML, which I could need for myself anyway, and see from there how it goes. ---------------------------------------------------------------------- Marc · 2006-06-20 08:50 I've been thinking about this as well (just in theory) You can have to solutions: 1) write your own server and let it be your application. 2) write the application as a cgi, and store the app data as session info. the 1st form has the advantage that you kan keep all the application data together a bit like a traditional app. The disadvantage is that you need to implement all server logic as well. Not all ppl who want to deploy a websote like this are able to choose their server. the 2nd form has the advantager that you don't have to take care of your server. You can place your app on almost  any existing server supporting cgi. The disadvantage is that you neet to keep the app data and logic stored in a session, in order to process each request. Personally I think that a widgetset based on cgi would be preferred. ---------------------------------------------------------------------- CCRDude · 2006-06-20 13:21 Hmmm... not sure about that: "Public" applications: you're right, not everyone has root access to a server so he could place his app there; access to upload cgi etc. is given way more often. "Private" applications: not everyone has a server capable of running the cgi scripts needed for #2, but they can run #1 on every Windows or Linux machine they have. So... I don't want to use Lazarus for developing "software" for public websites - perl, php, whatever are much more useful for that! A standard "web application" I would write would be targeted at an Intranet only, and small local networks may have a Windows server or Windows machine running through, but not so often a LAMPP box. Of course you could tell people to install a webserver etc... but then it's like .NET - you've got to download dozens of MBs for the "framework" of a small application And then this widget would only be used for huge applications (thinking about commercial software, you've probably got to explain to your customer why you need to install half a dozen of freeware applications to run his custom software). I understand the hesitation to have the server inside the widget though - I've got some experiences with Indy an many clients accessing it that are far from good (will soon test with Synapse and hope that's better). ---------------------------------------------------------------------- felipemdc · 2006-06-20 14:21 Quote from: "CCRDude"So... I don't want to use Lazarus for developing "software" for public websites - perl, php, whatever are much more useful for that! A standard "web application" I would write would be targeted at an Intranet only, and small local networks may have a Windows server or Windows machine running through, but not so often a LAMPP box. We surely can have both approaches on 2 separate widgetsets. On open source world the developer is king. So, what will decide which approach get´s more code and become more standard is people writing code for it =) ---------------------------------------------------------------------- Marc · 2006-06-20 14:22 Maybe we can find a way to have both. Run in server mode or as cgi. ---------------------------------------------------------------------- Anonymous · 2006-06-20 17:27 In Delphi, Intraweb offers various possibilities. You can make and stand-alone executable, that acts like a mini-web server, offering your application. Or you can compile in a Apache or IIS shared module. Some more information : http://www.drbob42.com/examines/examin48.htm It seems the most hardarous work are not this deployment options but the engine of rendering forms and events in standar HTML and Javascript. Marc Guillot. ---------------------------------------------------------------------- RudieD · 2006-06-20 18:38 Have any one tried the Fast CGI yet ? It should give you the power of normal CGI, but instead of loading the bin each time, you can have a full multi threaded socket server running full time and just sync the access to the common (session) block. You can then also easily extend the server to another PC to help with the load. ---------------------------------------------------------------------- Anonymous · 2006-06-21 00:25 Quote from: "CCRDude"Hmmm... not sure about that: So... I don't want to use Lazarus for developing "software" for public websites - perl, php, whatever are much more useful for that! A standard "web application" I would write would be targeted at an Intranet only, and small local networks may have a Windows server or Windows machine running through, but not so often a LAMPP box. I completely sencond that. Lazarus Developers should not concentrate on this. Web stuff is "main stream" stutff. Your provider will have PHP and/or ASP.NET installed. Even "en vogue" systems like Ruby on Rails have a hard time to get installed on most providers. Quote from: "CCRDude" I understand the hesitation to have the server inside the widget though - I've got some experiences with Indy an many clients accessing it that are far from good (will soon test with Synapse and hope that's better). Synapse is way better than Indy, and it fully supports most FPC targets now. Once you know your way through Synapse, you'll have the great feeling of "knowing what happens" which you'll never have using Indy. Synapse may not seem as "handy" as Indy at first sight, but its much better written at lower level and has less bugs. ---------------------------------------------------------------------- Anonymous · 2006-06-21 00:57 Oh, and don't get confused about the relatively simple implementation of the "higher level" classes like THTTPSend in Synapse. They have only demo character for me. But because the system is transparent, you can easily add your requirements to it. Maybe my example http://www.theo.ch/kylix/httpthread.zip which was written for Delphi / Kylix can give you some ideas. It shows how to use THTTPSend in a Thread for preventing the GUI from blocking, sending status messages to the GUI (this is using Sendmessage API and will not work on Lazarus (at least not crossplatform)), and how to handle redirects. ---------------------------------------------------------------------- Almindor · 2006-06-21 13:17 For "CGI" handling you can use PSP ( http://www.google.sk/search?hl=sk &q=pascal+server+pages&btnG=H%C4%BEada%C5%A5+v+Google&meta= ) For web server, lNet will have a 100% functional HTTP 1.1 server with fastCGI support in 0.4.0 (will go out with fpc 2.0.4). It can be integrated with lazarus rather simply. ---------------------------------------------------------------------- felipemdc · 2006-06-27 11:06 Also, I am finishing converting Apache 2 headers to Free Pascal, so in the near future we should also be able to write apache modules. With this a internet widgetset can generate Apache 2 modules, just like IntraWeb does. Another option for developers ^^ ---------------------------------------------------------------------- SergKam · 2006-07-05 19:29 Web Server On FPC alrady done. http://www.freepascal.ru/forum/viewtopic.php?t=935 source http://zero.kanet.ru/files/?page=/nYume_Server ---------------------------------------------------------------------- CCRDude · 2006-07-05 19:38 I can't understand russian, but a webserver example is also part of Synapse already - the difficult point here is to convert a GUI to interactive websites ---------------------------------------------------------------------- Anonymous · 2006-07-06 06:30 That server has help and description in English. It's very simple, but crossplatform and can be used as example. ---------------------------------------------------------------------- Anonymous · 2006-07-06 12:19 Quote from: "CCRDude"I can't understand russian, but a webserver example is also part of Synapse already - the difficult point here is to convert a GUI to interactive websites Not so difficult. for example. Code: [Select] object Form3: TForm3   Caption = 'TEST'   Left = 425^   Height = 269^   Top = 175^   Width = 255^ ...   object BitBtn1: TBitBtn      Caption = 'Tst'      Default = True      Kind = bkOK      ModalResult = 1      TabOrder = 0      Left = 16      Height = 30      Top = 232      Width = 96    end ... end ------------------------------------------------ //set simple ajax structure
//set ajax calbacks ' document.getElementById(AJAX).innerHTML='get'; } //set form
 TEST  
     
I can help with javascript, AJAX and HTML I think it can`t be done as Lazarus Widget but as components set ---------------------------------------------------------------------- SergKam · 2006-07-06 13:05 It was my post. smoll corections Code: [Select] ' document.getElementById(AJAX).innerHTML='query'; AjaxStart(); } on server Code: [Select] function Form3.onClickBitBtn1() begin   BitBtn1.Capton:='hello'; end; ---------- http.respons:='' ---------------------------------------------------------------------- CCRDude · 2006-07-06 14:00 Ok... so any suggestions why this server component would be better than the Synapse one? Also: why shouldn't it be able to do that as a widget set? It's just a lot of work AJAX is the right way, I agree with that. Firefox for example even has its own integrated AJAX JS client now. ---------------------------------------------------------------------- felipemdc · 2006-07-26 16:01 Good news for this idea is that you can now develop apache modules with Free Pascal. ---------------------------------------------------------------------- L505 · 2006-10-11 18:22 QuoteWould be great. And something like PHP but in pascal. Yes, exists Pascal Server Pages, but is discontinuated. PSP has not been discontinued! :-) Sometimes we leave the PasForum sitting for a few days without any response. We have a mailing list which you pretty much can get an email response right away - but the forum is less often checked and harder to keep track of. I suppose we should implement a Mailer() function in the web forum so that I get emailed each time someone posts a new response or a new post. You have to understand that I am a busy guy and I have a hard time keeping up with web forums - email is easier to keep up with. We hammered away lots of code in January 2006-April 2006 to get psp- core 1.6 ready. THere's no sense in working on 1.6.1 until people start using 1.5.0.2 and reporting issues with it. If we develop 1.6.1 without waiting for more people to use 1.5.0.2, it will mean more bugs will be left in the code. There were a few important bugs Almindor found and I'm greatful at least he is using PSP so it can be tested. I use PSP myself for my personal and business websites but I don't use all the features of PSP - Almindor just happened to hit on some features I was not using, such as embedded CSS within a template file. I'm working on some HTML widgetry which let's you go like this: box.color:= hGray; box.align:= auto; box.render; form.begin; edit1.maxlength:= 10; edit1.bgcolor:= hWhite; edit1.render; form.end; I've already written a few web programs without doing any HTML by hand. An example is here: http://www.psp.furtopia.org/cgi-bin/psp/examples/PasHiliterDemo.psp There is criticism from people that templates are a better solution than the above HTML pascal widgetry. It's true that templates do offer more power, because they are not limited by Pascal, they are only limited by the current HTML standard. We decided that both templates and pascal widgets would be a good solution. Some people prefer pascal widgets while others prefer HTML templates. By html templates I mean this: Code: [Select] This is the {$PageName} in section one. PSP has to be used as is too! Html widgets are cool, and OO stuff is cool - but PSP is powerful the way it is right now. Some of you guys say that PSP is kind of a useless idea, since there is already PHP and ASP. But then why use Lazarus? Why not just use Visual C++? Visual C++ is much more mature and many times more powerful than Lazarus. It's all about the language though! I don't like PHP syntax. I like sharing code between my Delphi and FPC programs with my web programs! The PasForum FAQ explains this in great detail why I use PSP and not JSP or PHP. ---------------------------------------------------------------------- sandeep_c24 · 2006-10-15 00:57 Is there any plan to implement a widget set that can be used do what Intraweb dows for Delphi? Regards Sandeep ---------------------------------------------------------------------- felipemdc · 2006-10-17 20:38 Quote from: "sandeep_c24"Is there any plan to implement a widget set that can be used do what Intraweb dows for Delphi? Yes, I think that Marco was doing this based on the apache headers translated. The resulting file would be a .so that can be used with Apache 2.0 or 2.2 ---------------------------------------------------------------------- Almindor · 2006-10-22 08:36 Once someone does the AJAX part (IMHO the most difficult thing) integrating lNet or any other networking lib with a http server shouldn't be much of a problem. And since you did the apache headers we can also make the module approach perhaps "all in one compilcation" even. But I imagine it'd take some funk to get the events right. EG: you make an AJAX form with an AJAX button and combobox. In combobox you put "OnClick" code for example, now you need to make sure that the client version sends you this event and that the server responds with proper widget changes to the client. This is the problem. ---------------------------------------------------------------------- hinfox · 2006-11-05 15:12 QuoteOnce someone does the AJAX part (IMHO the most difficult thing) integrating lNet or any other networking lib with a http server shouldn't be much of a problem. And since you did the apache headers we can also make the module approach perhaps "all in one compilcation" even. But I imagine it'd take some funk to get the events right. EG: you make an AJAX form with an AJAX button and combobox. In combobox you put "OnClick" code for example, now you need to make sure that the client version sends you this event and that the server responds with proper widget changes to the client. This is the problem. Yes, and no. The AJAX part is the most difficult because this is a distributed system. The difficult is not the OnClick event which can be implemented easily but for example if you would like to develop a drawing application you should send tons of thousand mouse events (and the response images) in a short timeframe between the client and the server. This can eat the client bandwidth and the application becomes very slow. (Also some routers and firewalls does not like this many connections in a short time frame and identifies it a SYN flood.) Also there can be a DOS situation easily if you use the HTTP protocol for that messages because the overhead. IMO some protocol which allows persistent connections with small overhead would be required. This would guarantee two way communications too which is an other problem with HTTP. The other thing which is hard to achieve is browser compatibility especially with older browsers which does not necessairly support all required events. One more problem is the security because the HTTP protocol is an insecure thing. How can you guarantee that nobody can change the data in transit? This can be guaranteed in a normal application but not in a HTTP environment. There should be encryption or at least some authentic signature checking algorithm implemented and integrated with session handling code. OK, it can be implemented using a property for example RequireSecurity which can be set true if security is required and HTTP is not allowed but only HTTPS. IMO this should not tied tightly to HTML and AJAX but what the browsers support because browsers and the web in general is changing. There are new standards which is supported natively in modern browsers (such as SVG in Firefox) which should be supported in modern web widgetsets too to simplify application development using these new standards. This can be achieved if messaging code is abstracted from GUI code appropriately. Careful design required. I used IntraWeb but have some strange problems such as freezing and inappropriate display things. The form looks in one way in the designer, another way in Firefox, and another way in IE. This is especially a problem if you require pixel precise positioning of text and widgets (especially if your clients use more than one sort of OS). Also not all controls have an IW counterpart and not all properties are the same so this is like a desktop application development but it is far from the same. I have been thinking on such a widgetset since January in my freetime and I can help you with the design and implementation (possibly not only in my free time) but this requires more than one people and careful design. I think Apache headers would be good for this but this interface should be abstracted so other backends can be possible too. ---------------------------------------------------------------------- german_tejero · 2007-02-15 01:51 http://webrad.sourceforge.net/ a simple dead open source project, but very powerfull and good for start bye bye ---------------------------------------------------------------------- bee · 2008-01-14 16:31 Did anyone here ever try Morfik? IMO, that's the best way we should implement Lazarus web-widget, even better than IW. Morfik makes things simpler by separate browser side event and server side event. Browser side is handled by JavaScript code, while the server side is handled by an application server (could be a CGI app or an Apache module). Any browser action which requires to be proceed on server side would request to application server through Ajax request. The reply then will be represented on the browser side using Ajax techniques. The biggest advantage that's offered by Morfik is that we could write the browser side using object pascal too. Morfik would "compile" it into browser side JavaScript (plus auto generated HTML and CSS files), using something they called as JST (javascript synthesist technology or whatever), similar to gwt (google web toolkit). On the server side, Morfik compile object pascal code plainly using FPC. For client-server communication, they're using web service (SOAP?) protocol. I think the idea is very possible to be done. For early stage, we could ignore about the OP to JS compiler. We could think about this on the next stage of the development. First, let the developers code the browser side event using JS. To ease our web widget effort more, we don't need to build the JS widget entirely from zero. We could use JS GUI frameworks from out there. There are some frameworks to choose upon: extjs (dual license ala mysql), qooxdoo (MPL), jQuery, and YUI. Personally, I prefer extjs though I'm not quite pleased by its license scheme. It's because extjs, AFAIK, has the most complete and stable JS GUI framework plus a comprehensive documentation. I found it the easiest framework to be understood and used. It also has almost any standard GUI controls as on Lazarus component palette, even better. So, for the start, we could focus on 2 things: (1) web widget that transforms LFM into HTML+CSS+JS using chosen JS GUI framework, and (2) standard client-server communication protocol (using JS GUI and Ajax request on browser side, and app server and web service on server side). But, due web application way of works, we couldn't transform desktop app into a web app or vice versa. Just like IW or Morfik, developers should had known that s/he would build a web app since the beginning. Had anyone done this? What do you think? ---------------------------------------------------------------------- Almindor · 2008-01-14 22:41 I tried morfik, and I agree, altough their javascript side is horrible (half of the stuff just doesn't work or is too slow). But I too think that this hybrid approach is generally best. Too bad they're closed tho. ---------------------------------------------------------------------- Marc · 2008-01-15 13:40 have you ever tried to browse the Morfik website with a not to recent PC ? Click......nothing happening......no indication of something loading.....click......ow....something is happening..... ....D.....I clicked twice. ---------------------------------------------------------------------- bee · 2008-01-15 16:09 That's some of the risk of using Ajax. No, I meant we could "steal" Morfik's idea to implement our own web widget. I didn't mean that we should use Morfik. ---------------------------------------------------------------------- bee · 2008-06-17 07:40 Finally, there's somebody that start doing an action on this. Now there's an open source project name ExtPascal. As the name implies, it's trying to make a framework for web programming utilizing pascal language and extjs for the UI presentation. Author of project (wanderlan) seems to have a similar idea as mine that I described above. Besides providing a pascal wrapper for extjs, extpascal also offers a unit for FastCGI application. It doesn't make its own web server as most people much prefer to use stable and proven available web servers i.e. Apache, Lighttpd, etc instead of using custom web server. However, extpascal doesn't prevent us to use our custom web server as long as it supports CGI or FastCGI protocol. The interesting part of the FCGI unit is it also works on standard CGI hosting by using so-called CGI gateway trick. So far, the project is going well and being actively developed. If other people would like to join in this project and help contributing features i.e. pascal to js compiler, gui designer, or even build a web widget on top of it, is highly appreciated. -Bee- ---------------------------------------------------------------------- Paul Ishenin · 2008-06-18 01:07 Nice. I thought about extjs as one of possible widgetset but cannot imagine how to do that ---------------------------------------------------------------------- bee · 2008-06-18 04:46 I'm playing around with extpascal for the last few weeks, helping the project a bit by reporting bugs and suggesting ideas. The nice thing with extpascal and its FCGI unit is, the programming paradigm is like we're developing a desktop app using Lazarus or Delphi. Well, not in truly exact way, but not that different as we're using PHP or powtils. Be carefull with the license, though. ExtJS is like Qt, they ask for money if you make a commercial app using their tool. Nothing to be worried if you make an open source freeware project. ---------------------------------------------------------------------- bee · 2009-02-14 09:16 Just to spread a good news. ExtPascal project have been nicely going and got more interest and attention from other pascal developers. Some of the contributors had done an .dfm/.lfm file converter into ExtJS window and controls. You may see the demo here: htttp://195.216.196.161:6464/ They all there are converted from plain Delphi application. Though they're not yet all completed, they do show a very nice progress and great possibility in the future. I hope this good news would get more pascal developers interest to be involved in this promising project. It's not impossible someday that we would have a true web widgetset support in Lazarus. This project is more than welcome to new users and contributors. ---------------------------------------------------------------------- LazaruX · 2009-02-17 11:57 Hey, what a coincidence, I was just thinking about opening a discussion like this,...probably somebody read into my mind and was faster... I will try to use PSP and see... ---------------------------------------------------------------------- bee · 2009-02-20 07:13 News update... the .dfm/.lfm converter demo is moved to http://reidspace.co.uk:6464/ > I will try to use PSP and see What PSP do you mean? Powtils? If so, Powtils is an CGI API for pascal. It doesn't offer something like web widget. It's good for classic style web programming, I mean you still handle all HTML/JS/CSS by yourself. What I'm talking about here is ExtPascal which offer something more advanced. It works using FCGI mechanism which somehow has better performance compare to plain CGI. It also wraps an advanced JS framework (ExtJS) which frees you from HTML/JS/CSS since it's handled by the JS framework. ---------------------------------------------------------------------- Arminius · 2009-04-26 14:40 Yeah that would be great! PHP in pascal ---------------------------------------------------------------------- bee · 2009-05-05 06:20 > Yeah that would be great! PHP in pascal No, it's never intended to create PHP code from pascal. We want to create web application using pascal. Just to let people know... ExtPascal project has another new tool created by the community. Now we could create window-based web application using ExtJS controls utilizing ExtPascal from within Lazarus IDE. The work is still in alpha stage, there are still lots of things need to be done first before it would be really usable. Anyone who want to join this project is more than welcomed. ---------------------------------------------------------------------- Lord_ZealoN · 2009-05-28 22:20 Sorry for not post my last post here, but I thought this post was abandoned. If I do a commercial app using extPascal, I need to pay, because I'm using extJS for a commercial application too, is this correct? Cheers. ---------------------------------------------------------------------- Marc_G · 2009-12-29 21:04 There is a new developement on the way (and it supports Linux and FreePascal ). http://www.raudus.com/ It's similar (also binded to ExtJS) but different than ExtPascal. I think this framework makes modifications to ExtJS library, and this makes it better integrated to Delphi IDE's and robust. But at the moment only applies to a few controls (more are coming). Worthwhile to take a glance at their demo video. http://www.raudus.com/custom/demos/01-sum/01-sum.html Looks very promising. ---------------------------------------------------------------------- bee · 2010-01-08 05:41 Quote from: Marc_G on December 29, 2009, 10:04:35 pmhttp://www.raudus.com/ I'm not interested since it's not open source. It seems it will go commercial by version 1.0, I believe. Nothing wrong with commercial as long as it open the source code. So, I stick with ExtPascal. ---------------------------------------------------------------------- Marc_G · 2010-01-08 12:05 Quote from: Lord_ZealoN on May 29, 2009, 12:20:17 amSorry for not post my last post here, but I thought this post was abandoned. If I do a commercial app using extPascal, I need to pay, because I'm using extJS for a commercial application too, is this correct? Cheers. Yes, it seems you have to pay a commercial license for ExtJS. ---------------------------------------------------------------------- theo · 2010-01-08 13:46 Quote from: Marc_G on January 08, 2010, 01:05:56 pmYes, it seems you have to pay a commercial license for ExtJS. That's why I changed to YUI for this kind of stuff. It has a BSD license. YUI2 is not as easy to use as ExtJS but YUI3 is coming (still not many widgets atm.) http://developer.yahoo.com/yui/ ---------------------------------------------------------------------- bee · 2010-01-10 03:19 IMO, Qooxdoo (MPL license) is the best alternative for ExtJS. Check it out at http://qooxdoo.org ---------------------------------------------------------------------- Phil · 2010-01-10 03:38 Quote from: bee on January 10, 2010, 04:19:35 amIMO, Qooxdoo (MPL license) is the best alternative for ExtJS. Check it out at http://qooxdoo.org Anything happening there on the qxPascal front? The big advantage now of Ext JS is that it has ExtPascal. Have you seen what Farshad has done with Delphi and ExtPascal/Ext JS? http://prime.fmsoft.net/out/dbdemo.dll Thanks. -Phil ---------------------------------------------------------------------- bee · 2010-01-10 15:25 Quote from: Phil on January 10, 2010, 04:38:33 amAnything happening there on the qxPascal front? Nothing yet. I'm still studying qx API and qxbuild. I work alone on this project. There are some problems i.e. qx all-in-one JS file is too big (about 1.3 MB, more than twice of ext-all.js), and some of my lack-of-knowledge with JS and qooxdoo. Obviously, I have to learn to use qx natively before I could write a proper wrapper for it. Other than that, I'm also being busy with something else (that is more important) until the next few months. Quote from: Phil on January 10, 2010, 04:38:33 amThe big advantage now of Ext JS is that it has ExtPascal. Of course. I'm also working on a new application using ExtPascal. I plan to open the source code and contribute it to ExtPascal once it's done. Quote from: Phil on January 10, 2010, 04:38:33 amHave you seen what Farshad has done with Delphi and ExtPascal/Ext JS? http://prime.fmsoft.net/out/dbdemo.dll This is great! Why didn't I read about it in ExtPascal list? We should publish this as demo for ExtPascal.