Menu

Is ExtJS the right choice?

2010-01-07
2013-05-28
1 2 > >> (Page 1 of 2)
  • Aaron Bartell

    Aaron Bartell - 2010-01-07

    I wanted to kick off some discussions to stir the pot a bit and see if there are some good opinions out there.

    ExtJS is the first of many UI technologies that will be used for RPGUI.  What are people's thoughts on it?  Would Flex/Flash be a better implementation?  I am not sold on Silverlight as it has Windows platform lock-in (yeah, I know monolight exists, but that will always be the red-headed step child).

    Thoughts?
    Aaron Bartell

     
  • David Strawn

    David Strawn - 2010-01-08

    Aaron,
    I applaud your efforts for RPGUI.  Here are my thoughts:
    It sounds like you are reinventing the wheel.  Valence already has a RPGUI built around ExtJS.  So, I am having a problem understanding where your effort with ExtJS fits in.  Maybe you and Mihael Schmidt should contribute your expertise to the folks at CNX (Valence).  Aside from that, if you can provide an open source RPGUI, then I can see where you are going, and I like it.  By using Dojo and Mihael's contribution, both open source, you could accomplish just that.

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-08

    Hi David,

    Note that RPGUI *is* 100% open source.  It is has been put into GPL v3 domain.  You can see the code here: http://rpgui.svn.sourceforge.net/viewvc/rpgui/

    The folks at CNX have a very nice approach and I have sent their team ideas over the 1.5 years I have known them (great guys by the way).  My hope would be that commercial offerings like Valence from CNXCorp would make efforts to become part of open source initiatives like RPGUI.  Only time will tell if vendors "catch the fever".

    Dojo would be another option of many to use instead of ExtJS.  Do you have experience with it to know what is good and bad?  I have very little (mostly only reading) about Dojo.

    Thanks for your comments David,
    Aaron Bartell

     
  • David Strawn

    David Strawn - 2010-01-11

    How is RPGUI open source when you have to pay for ExtJS?  Are you saying the ExtJS is not a part of RPGUI?  Thanks.

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-11

    ExtJS is free because RPGUI isn't being resold so it doesn't require the commercial license.  ExtJS is a "dual license" open source framework.

    Does that answer your question?

     
  • David Strawn

    David Strawn - 2010-01-11

    Maybe. 
    But if we use RPGUI/ExtJS to develop applications at our company, don't we have to make the code that we develop (at least the front end code) open source, according to the license?

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-12

    I don't believe so.  That is only if you are publicly distributing your developed code for sale.  For example, in the case a Valence they need to purchase a license because they are reselling and embedding ExtJS with their tool. 

    Aaron Bartell
    http://mowyourlawn.com

     
  • David Strawn

    David Strawn - 2010-01-12

    You might should reread the license.  See below:

    Commercial License
    This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application under the GPL.  (this is where our company would fall)

    Open Source License
    Ext JS is an avid supporter of open source software. This is the appropriate option if you are creating an open source application with a license compatible with the GNU GPL license v3.  (this is where RPGUI would fall)

    OEM / Reseller License
    This is the appropriate option if you are creating a product that is a software development library, toolkit or framework.  (this is where Valence would fall)

    dls

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-12

    Thanks for your continued pursuit of this David.  Please read this blog entry: http://pablotron.org/?cid=1556

    As you can see, and as I am now seeing, the ExtJS licensing is problematic in that it doesn't to have solid statements for how it can really be used by those that aren't vendors (i.e. home grown software, where the software isn't what makes the money but instead the product (i.e. clothing)  that the company sells is the money maker) ).

    I guess this is one reason why RPGUI aims to provide an abstract layer to the UI so you aren't tied to one technology :-)

    I need to think some more on this.  It would be good if we were to put together a list of alternatives that weren't fraught with license issues.

    Aaron Bartell
    http://mowyourlawn.com

     
  • David Strawn

    David Strawn - 2010-01-12

    I hear you.  That is why I suggested Dojo at the outset - No Licensing issues!   See Wavemaker, IBM with EGL….  Here is the license explanation from the Dojo site:
    _
    "You may:
        * Freely use Dojo to build applications and services
        * Distribute Dojo as a part of commercial products
        * Modify Dojo, make extensions to the toolkit, and produce your own add-on components with no requirement that you give your code away or contribute it back to the project

    Just to re-iterate, you can build commercial software with Dojo without obtaining a separate license or incurring any other obligations."_

    Dojo is availble under either the terms of the modified BSD license or the Academic Free License version 2.1. Both licenses grant you broad rights to use and build on and with Dojo in both Open Source and commercial settings.

    I would hate for anyone to put much effort into retro-fitting a javascript framework to RPG, only to have their efforts hampered or nullified in the end.

    dls

     
  • David Strawn

    David Strawn - 2010-01-12

    I am assuming, of course, that the goal of RPGUI is to be open source,.  If not, then ExtJS makes perfect sense.

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-12

    Yes, the RPGUI is meant to be entirely open source.  I think I realize where my oversight came into play.  I focused on the GPL v3 requirements, which is what ExtJS points at, but ExtJS also added their own additional clauses (i.e. dual license) and that makes it quite hard to digest.

    Some others to consider with Dojo:
    http://qooxdoo.org
    http://mootools.net/

    Aaron Bartell

     
  • David Strawn

    David Strawn - 2010-01-13

    I know you have probably heard this before, but have you seen the Renaissance framework by coraltree.  It purports to be open source (I have no reason to believe it is not).  I am sorry if I keep throwing things at you that I have no experience at, but my concern is that the "RPG" market is small (and supposedly getting smaller) and we don't need to splinter efforts to produce multiple RPGUI products.  Having said that, I certainly believe competition is great, I'm just not sure that time to market with a full featured, stable product is not more important at this point (of course I am speaking from an end user's perspective).  I guess I envision having to RPGUI's - one that is commercial (Valence is the best, IMHO) and one that is open source (your RPGUI, Renaissance, and whatever).  If these efforts are successful, others will follow, for sure.  Maybe Our new addage should be "unify and conquer".
    Just my opinion!

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-13

    Yep, I have seen the Renaissance framework.  The thing that troubles me is that the UI technology is apparent/cumbersome in the controller and business logic layer.  For example, take a look at this program: http://tinyurl.com/yk7rn7h 

    In that program take a look at the portion of code starting with the call to this API: PR_StartDataForm().  I must admit that I am not well versed in the Renaissance framework, but seeing code like this makes me believe that it could be done better.

    In the end it is great that we have so many efforts going on at once because each project is implementing things that other projects can learn from.  Of course the important part is having reasonable open source licensing for the different projects so code can be shared.

    Note that "unify and conquer" can sometimes cause efforts to get into trouble because there are different visions.  Even though RPGUI and Renaissance might have similar flavors, it could be that they are meant for different purposes (i.e. some might be more in line with internal development and others more for "wow the customer with cool widgets" development).

    Aaron Bartell

     
  • David Strawn

    David Strawn - 2010-01-13

    I hear you!

    Maybe we (RPGers) should write our own business class, cool looking, business user centric, open source Javascript framework that "calls" IBM i programs (RPG, CL, JAVA, COBOL…) and has access to its resources.   eye4i anyone!

     
  • Alan

    Alan - 2010-01-15

    So is ExtJS being scrapped? 

    We fall under the commercial license also.  But, we have already purchased them.  I realize that using ExtJS would not make this a total open source solution, but in my opinion ExtJS is inexpensive.

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-15

    I agree that if RPGUI is the right solution for an RPG shop that ExtJS is quite inexpensive in the end.  The other option would be to see what it would cost to have unlimited ability to use ExtJS from RPGUI (i.e. a special arrangement with ExtJS).

    As it stands right now, because of the commercial license thing, it would be much harder for RPGUI to make the significance I hope it can make - simply because of the cumbersome licensing situation.

    Thoughts Alan?

    aaronbartell.com

     
  • Alan

    Alan - 2010-01-15

    Aaron,

    You're right, it probably would catch on better with another ui.  I would love to help with this project and I was thinking about the 2 years of experience I have with ExtJS going a long way.  Has anyone used/reviewed any of the other frameworks mentioned?  Flex looks interesting and it has a WYSIWYG designer.  Although, you have to purchase the designer.

    Alan

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-15

    I had a gent from Europe email and challenge me on my statements about Flex.  He said he has been using it successfully with RPG for quite some time and was going to put together some samples for me to look at.  If nothing else, RPGUI is paving the way to answer a lot of questions and getting people talking to eachother.   I have never had such a response to an article series in the 6 years I have been writing!

    aaronbartell.com

     
  • Alan

    Alan - 2010-01-15

    Where are your statements on Flex?

    I'm interested in seeing his samples. 

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-15

    Just a couple brief statements at the beginning of the article.

    aaronbartell.com

     
  • Kevin Turner

    Kevin Turner - 2010-01-21

    The comment about Renaissance ("the UI technology is apparent/cumbersome in the controller and business logic layer") is interesting.  Is that based on just a look the source of one particular program or on hands-on experience?  There is a large German Cable TV and Telephony company running a full blown CRM and Subscriber Management application written over Renaissance. It supports over 1000 concurrent sessions over the intranet and internet and has web service support (as a server and client) to several other applications running on various technologies. It is developed by a team of 10 or so RPG developers whose experience range from "dyed in the wool RPG programmers" of 15 years experience and upwards to graduates fresh out of college with no previous concept of the i5 and RPG - all working together on one browser based i5 application. This being so, Renaissance must be doing something right, even if some of methods employed in the Framework are not to everyone's taste. I think the main point is that it is one freely available framework that anyone can look at to pick out the things they like or dislike.

    I think one of the things you want to achieve with RPGUI (i.e. insulate the programmer from the foibles of HTML, javascript, browser issues etc) is something that Renaissance was trying to do in the early days. Unfortunately, it is much easier said than done for a whole host of reasons. If you have no understanding of HTML, javascript et al then how can you take maximum advantage of the technology - and how can you debug and diagnose the problems that you will encounter? Somebody has to understand the whole picture if every development shop do they not?  That said, the very best of luck to you and anyone else who wants strive towards this laudible goal. 

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-21

    >Is that based on just a look the source of one particular program or on hands-on experience?

    I have had very little hands on experience with Renaissance.  I have used CGIDEV2 quite a lot.  I do not debate any of your claims of it being a good tool except for the code that I pointed out where you had an API call to essentially open and close UI controls/elements.  Why was it done this way?

    With frameworks like ExtJS, Dojo, etc, they have made it a lot easier to do HTML+CSS+Javascript, so not as much needs to be kept track of by the developer.  If a developer needs to have a solid understanding of HTML+CSS+Javascript to use a given framework then I think the framework needs to further itself.  In the end you should be able to do 80 to 90% of all your coding by configuring the UI components without typing out raw HTML, CSS, or Javascript.  Does Renaissance have thoughts on pursuing a framework like that?

    With all of this said I am hoping RPGUI can learn a lot from the path Renaissance has already forged, and maybe Renaissance will be able to utilize code that is put into RPGUI.  You guys already seem to have the right "heart" (i.e. open source minded) and that is the type of group I love to move forward with.  How can we help eachother out and give people options?

    Thoughts?
    aaronbartell.com

     
  • Kevin Turner

    Kevin Turner - 2010-01-21

    Renaissance does make use of 3rd party tools like Flex and Rico etc already.  However, the coder builds all the composite parts of a web page via procedure calls in various service programs. At no time is it necessary to write raw HTML, CSS or Javascript. So, for example, the creation of a drag and drop widget is done through a couple of simple procedure calls with parameters dictating the behaviour. The coder does not have to know about the individual elements etc that go together to make up that UI.   We have tried to abstract as much of the underlying nitty gritty away from the coder as possible. However, the building of a drag and drop widget (to continue the example) does itself involve lots of calls to other (sub) procedures that are also available to the coder. So a coder can work at a very high level of abstraction or they can work at a much lower level (as in the example that you quoted where they were creating a data form manually).  At first we tried to keep it all at this higher level, but then all the coders that do understand HTML , CSS and javascript etc get incredibly frustrated. They know what they want  and they know how to do it but the Framework prevents them from getting there.  It is for this reason that we are trying to provide the facility to work at a high level, a low level, or somewhere in between. We still have some way to go in this regard. Using Renaissance is not like falling off a log. It does have a bit of a learning curve that is for sure - at least until we can put more into training etc.  

    Regardless of the level that you write your code, at some point things will misbehave.  You then need to debug it. Without an understanding of the underlying technology (HTML etc) then your chances of debugging things becomes severely limited - in the same way that the old Synon2/E developer who didn't know RPG had a tough time working out why their programs didn't work.   If the idea is to create something that really does negate the need for such an understanding then I would applaud that and wish you every success.  We would certainly like to learn from anything you do in that regard.

    With regard to licensing, we chose thE MPL 1.1 licence very carefully.  The reasons are discussed further here: www.renaissanceframework.com 
    For us it was important for people that used it to know that they were free to use and distribute the code in a commercial application (i.e. something that they charge for) with impunity. The GNU license is less obvious in this regard IMHO.

    By the way, the link in your first post about RNS is incorrect I think.  It takes you to you old expired session.

     
  • Aaron Bartell

    Aaron Bartell - 2010-01-22

    Kevin,

    Thanks for educating me out of my ignorance.  Where is the best high level documentation I could look at to gain a better idea of what Renaissance has to offer?  I am obviously looking in the wrong spots if I found the least common approach first :-)

    I see the MPL license seems to allow other licenses to also be used (i.e. the LGPL). If that is the case then it seems we might be able to share code quite well because Mihael's JSON code is released under LGPL and I just followed his lead for the RPGUI stuff I have submitted. 

    aaronbartel.com

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.