Presentation on theme: "Web Frameworks Taxonomy Anthony Berglas April 2011."— Presentation transcript:
Web Frameworks Taxonomy Anthony Berglas April 2011
Welcome to the JVM Meetup Meetings maybe 2 nd Tuesday each Month? Oracle providing room, food today or when presenting. Thanks. Presentation vs. informal talks? Future talks ideas at end. (Seam and ADF likely.) Security at 5:30pm Call Anthony 04 4838 8874 to get in. (Other nrs?) www.Meetup.com/qldjvm. (These slides uploaded.)www.Meetup.com/qldjvm This talk – me for 25 mins review, then to the floor. –What works for you?
Component MVC Above is same as form.add(new GridView…) (not println(…) ). Also HTML. Many events, ultimately Render outputs HTML. Can have rich interactions: Call backs, Sort database query. Client Validatn. Lazy AJAX – page content submitted without page submit (state!). Event model much more complex than procedure oriented. –Especially writing new components. JSF1 – Bad Event Model (JSP) -- List/Crud Hard, ugly EL, Heavy. (Vsn2 better) Seam – Links EJBs to JSF, removes junk (backing bean), Conversations… Oracle ADF – Tightly integrated with data model. Pagelets. Magic. Open Src? Tapestry – HTML templates. Efficient static page structure. Single Developer. June 26 Wicket – Very like Tapestry. Pure Java views. Static typed. Very Stateful. Raw HTML actually generates an object that can render …
Thoughts on JSF 1 JSF 2 better. (Facelets certainly better than JSP) Can be partially? tamed with SEAM, ADF.
Business Object Driven / RAD UIs derived semi-automatically from business object schema. –Add a foreign key to the database, it is in the UI by default. Business rules specified in terms of business objects, not UI. –E.g. Workflow based on information state. –Security / row permissions, audit etc. often built in. Very quick to develop simple applications. Allows end users to enhance and configure a standard application. –Especially important for CRM. (e.g. toothpicks) Usually in the cloud –But what happens if the sun shines (lazybase, coghead). Force.com/Salesforce – huge app exchange. Ability for custom Uis. Zoho – Tiny pretender. Much cheaper. Quickbase – Well established from intuit. Infodome – Cute video overview. Forms + OLAPish. ADF – Not end user usable but data oriented. Filemaker – seems good. MS Access – Never really got there. Open Source – Glom, once:radix, Kexi, OpenOffice Base.
Conclusion Two issues, the approach and the implementation. –Sofea is becoming very fashionable, Is MVC Dead as some claim? –What about Swingish? –Is rich data binding important? –User extensibility (Force.com)? –Or is simple procedural MVC all that we need for normal applications? Technology now hugely complex – can be hard to debug. –I no longer know how Wicket works Jonathan Locke, creator. Many paths, much confusion. Peoples actual, practical experience?
Some References Tapestry vs Wicket http://stackoverflow.com/questions/657352/difference-between-apache-tapestry-and- apache-wicket http://www.ibm.com/developerworks/java/library/os-tapestrywicket/index.html?ca=drs Tapestry Static Page, Wicket Dynamic. Tapestry 5 not backward compatible. Tapestry one main developer (HLShip), Wicket Community. Tapestry slightly less code, but less static typing. JSF vs Wicket/Tapestry http://ptrthomas.wordpress.com/2007/05/14/a-wicket-user-tries-jsf/ http://paulszulc.wordpress.com/2009/05/19/jsf-sucks-wicket-rocks/ http://swik.net/Peter- Thomas/Incremental+Operations/Seam+%2F+JSF+vs+Wicket:+performance+co mparison/cp1je -- Wicket much faster and less memory (order of magnitude). ADF http://www.oracle.com/technetwork/developer-tools/adf/overview/index.html Other MVCs: Click, Stripes, All http://www.slideshare.net/mraible/comparing-jsf-spring-mvc-stripes-struts-2- tapestry-and-wicket-presentation