Wicket and Aida/Web Brief Comparison Jaroslav Havlín ČVUT FEL Subject X36ASS.

Slides:



Advertisements
Similar presentations
A Blackboard Building Block™ Crash Course for Web Developers
Advertisements

Web Applications Development Using Coldbox Platform Eddie Johnston.
JSP: JavaServer Pages Juan Cruz Kevin Hessels Ian Moon.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
ASP.NET Programming with C# and SQL Server First Edition
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Introduction to Ruby CSE 413 Autumn 2008 Credit: Dan Grossman, CSE341.
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Lecture 2 - Struts ENTERPRISE JAVA. 2 Contents  Servlet Deployment  Servlet Filters  Model View Controllers  Struts  Dependency Injection.
Java Server Pages (JSP) Presented by: Ananth Prasad & Alex Ivanov May 10, 2001.
Lecturer: Ghadah Aldehim
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
With your friendly Web Developer, Chris.. Terminology  HTML - > Hypertext Markup Language  CSS -> Cascading Style Sheet  open tag  close tag  HTTP->Hypertext.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
 XHTML is aimed to replace HTML  XHTML is almost identical to HTML 4.01  XHTML is a stricter and cleaner version of HTML  XHTML is HTML defined as.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
Using Html Basics, Text and Links. Objectives  Develop a web page using HTML codes according to specifications and verify that it works prior to submitting.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
CHAPTER TEN AUTHORING.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Introduction to ASP.NET T.Ahlam Algharasi. The Visual Studio IDE Start page 2.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Lukas Renggli, Adrian Lienhard ESUG 2002 Seaside Sheet #1 Seaside Web Application Toolkit for Squeak.
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
Chính phủ điện tử TS. Phạm Văn Tính Khoa CNTT, ĐH Nông Lâm TP.HCM
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
By Jonathan Smith. Road Map Introduction Company Information Project Overview Java Web Design and Development Summary Relation to IUP Acknowledgments.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
Best Institutes offering Software Development courses.
PHP Basics and Syntax Lesson 3 ITBS2203 E-Commerce for IT.
Python Programming Unit -1.
Top 8 Best Programming Languages To Learn
Programming Languages Dan Grossman 2013
Introduction and Principles
Introduction to Visual Basic 2008 Programming
A very brief introduction
Google Web Toolkit - Gufran Mohammed
PHP Training at GoLogica in Bangalore
UNIT 15 Webpage Creator.
PHP Introduction.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
JavaScript an introduction.
Web Development Using ASP .NET
PHP.
JavaServer Faces: The Fundamentals
Web Application Development Using PHP
Plug-In Architecture Pattern
Presentation transcript:

Wicket and Aida/Web Brief Comparison Jaroslav Havlín ČVUT FEL Subject X36ASS

Introduction The aim of this project is to design a simple reservation system for a small restaurant and to implement it twice, using two different architectural approaches. The result is a comparison of these approaches for this particular application. Chosen frameworks for this task are: Apache Wicket for Java Aida/Web for Smalltalk

Common Features Object-oriented programming languages Component-based web frameworks Integrated transparent AJAX support

Differences Java + Apache Wicket Statically typed language HTML-based templates; CSS, scripts and images are stored in separate files Smalltalk + Aida Dynamic Language No templates, all is Smalltalk

Simplified model

User Interface

Smalltalk Dynamic language No spending time declaring types (+) Great features for debugging (+) No need to cast variables to correct types (+) It is not necessary to wrap code into methods, there are blocks for anonymous pieces of code (+) Some errors can't be found at compile-time (-) Specific user interface (+/-) Many dialects (-)

Aida Quite new framework No templates, only Smalltalk code – pure, saves time in many cases (+) Not completely finished documentation (-), but very kind community (++) Convention over Configuration paradigm (+) Naming conventions for presentation objects, views and actions, no extra configuration needed.

Smalltalk + Aida (example) viewMain |e| e := WebElement new. e addTextH1: 'Registracni formular'. e addTextH2: 'Aktualni nabidka'. self observee items do: [ :item | e add: ((WebElement newDiv) addText: item name; class: 'item'; yourself) ]. ^ self pageFrameWith: e title: 'eJidlo'.

Java Statically-linked language, robust code Well-known, stable, established, well-documented (+, +, +, +) Sometimes quite ”talky” (more code to write) (-) Excellent IDE support Refactoring (+) Static code analysis (+) More complicated syntax (-)

Wicket Web Framework based on templates Natural division of labour for programmers and for designers (+) It is possible to use standard tools for creating HTML templates (+) Template is special (X)HTML file with custom tags and properties Easy creation of new components, both simple and complicated, by nesting and inheritance Many free components and extensions available for free

Wicket Template (Example) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Example

Wicket Class (Example) public class HomePage extends WebPage { String name = ""; public HomePage(final PageParameters parameters) { Form f = new Form("formComp", new CompoundPropertyModel(this)); f.add(new Label("welcomeText", "This is an example")); "name" f.add(new TextField("name")); f.add(new Button("submitButton")); add(f); }

Comparison Aida Rapid development + Readable code Code only Easy to extend Dynamic platform + Many dialects More fun + Wicket Robust platform Great documentation + Templates Many extensions + Application server Standardized + Sophisticated syntax

Conclusion Aida is suitable for Smalltalk fans. It is so easy to become a Smalltalk fan :-) Java is suitable for (almost) all others. As there is a big variety of Java libraries for many problems (database drivers, image manipulation, artificial intelligence) and there is support for scalability, more complicated projects and projects that depend on legacy systems will probably choose a Java as a platform. For small and middle-sized projects, Aida promises faster development and more enjoyable programming.

Links