Building Rich Applications with Appcelerator

Similar documents
IBM JZOS Meets Web 2.0

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

Developing Ajax Web Apps with GWT. Session I

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Credits: Some of the slides are based on material adapted from

Web 2.0 Käyttöliittymätekniikat

Rich Internet Application with TIBCO General Interface By Nitin Goswami

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

Advanced Web Applicatio Design Patter. Rupak Raj Ghi

Etanova Enterprise Solutions

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

ArcGIS for Developers: An Introduction. Moey Min Ken

Like It Or Not Web Applications and Mashups Will Be Hot

Comparing Java Web Frameworks

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems

A Model-Controller Interface for Struts-Based Web Applications

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek

New Face of z/os Communications Server: V2R1 Configuration Assistant

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Groovy & Grails in Depth

Oracle Developer Day

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Data Scientists / Data Analysts (m/f) educational ackground university degree in data science, computer science, software engineering

World Wide Web PROGRAMMING THE PEARSON EIGHTH EDITION. University of Colorado at Colorado Springs

Aggregation of WSRP Channels on Eclipse Rich Client Platform

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

Flex and Java. James Ward. twitter://jlward4th Adobe Systems Incorporated. All Rights Reserved.

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science & Engineering. Fifth Semester. Subject: Web Programming

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2.

Performance evaluation of J2EE

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE

CSC309: Introduction to Web Programming. Lecture 11

Choudhry Nisar. Web: asifnisar.co.uk Phone no:

Comparing Web Frameworks JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket

Backend Web Frameworks

AJAX, Rich Internet Applications, And Web Development For Programmers (Deitel Developer Series) PDF

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE

Web Programming. Lecture 11. University of Toronto

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Time to EARN. On Job Training. Time to L-EARN

Modern Web Application Development. Sam Hogarth

JavaScript Context. INFO/CSE 100, Spring 2005 Fluency in Information Technology.

Improve and Expand JavaServer Faces Technology with JBoss Seam

(p t y) lt d. 1995/04149/07. Course List 2018

Read & Download (PDF Kindle) PHP Ajax Cookbook

Sahi. Cost effective Web Automation

P a g e 1. Danish Tecnological Institute. Developer Collection Online Course k Developer Collection

Flex 3 Pre-release Tour

RIA Teacher Gradebook Managing Millions of Students with Swing and Web Services: How we did it

Web Applications: A Simple Pluggable Architecture for Business Rich Clients

Widget Toolkits CS MVC

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries

Job Reubro International

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications

Layered UI and Adaptation Policies for Ubiquitous Web Applications

Mischa Kölliker. JavaLounge Zürich, 23. Juni 2009

AJAX: Rich Internet Applications

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Rich Client GUI's with RCP & RAP

a Very Short Introduction to AngularJS

Introduction Haim Michael. All Rights Reserved.

CIS 086 : Week 1. Web Development with PHP and MySQL

How to build Scientific Gateways with Vine Toolkit and Liferay/GridSphere framework

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages

Web Application Architectures

<Insert Picture Here>

CSE 498 CSE Courses and Skills Inventory Fall Name:

Javascript Coding Interview Questions And Answers In C++ Pdfs >>>CLICK HERE<<<

Fall Semester (081) Module7: AJAX

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University

Job Description: Junior Front End Developer

All India Council For Research & Training

eclipse rich ajax platform (rap)

Model-Based UI W3C XG

Vb Net Tutorial For Beginners Visual Studio 2010 Create Web Service

Restful Application Development

Html5 Css3 Javascript Interview Questions And Answers Pdf >>>CLICK HERE<<<

Using Adobe Flex in JSR-286 Portlets

Android Programming: Overview

Eclipse 4.0. Jochen Krause EclipseSource

generates scaffolding/framework for models, views

MVC: Model View Controller

Programming the World Wide Web by Robert W. Sebesta

Web Development for Dinosaurs An Introduction to Modern Web Development

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

Browser Problems In Ajax Applications

Selenium Testing Training

Diploma in Web Development Part I

Human vs Artificial intelligence Battle of Trust

Using the Computer Programming Environment

Google Web Toolkit (GWT)

Prospective Units. 0 - The History of HTML5: Making it Interactive. 1 - Animating with JS & CSS: Making it Move

Transcription:

Building Rich Applications with Appcelerator Matt Raible Colorado Software Summit 2008 http://www.linkedin.com/in/mraible Matt Raible Building Rich Applications with Appcelerator Slide 1

Introductions Your experience with web applications? Have you heard of SOFEA or SOUI? Experience with RIA Frameworks? What do you want to get from this session? Matt Raible Building Rich Applications with Appcelerator Slide 2

Matt Matt Raible Building Rich Applications with Appcelerator Slide 3

Raible Matt Raible Building Rich Applications with Appcelerator Slide 4

Matt Raible Building Rich Applications with Appcelerator Slide 5

Matt Raible Building Rich Applications with Appcelerator Slide 6

http://flickr.com/photos/leecullivan/122271605/ Matt Raible Building Rich Applications with Appcelerator Slide 7

http://flickr.com/photos/crowleymr/2530170585/ Matt Raible Building Rich Applications with Appcelerator Slide 8

http://www.flickr.com/photos/mraible/2644737051/ Matt Raible Building Rich Applications with Appcelerator Slide 9

http://www.travelblog.org/photos/1597321.html Matt Raible Building Rich Applications with Appcelerator Slide 10

http://flickr.com/photos/mraible/2644738967 Matt Raible Building Rich Applications with Appcelerator Slide 11

Matt Raible Building Rich Applications with Appcelerator Slide 12

Matt Raible Building Rich Applications with Appcelerator Slide 13

Matt Raible Building Rich Applications with Appcelerator Slide 14

http://www.neatorama.com/2006/07/07/kids-and-an-open-can-of-paint-what-could-go-wrong/ Matt Raible Building Rich Applications with Appcelerator Slide 15

My Education! Matt Raible Building Rich Applications with Appcelerator Slide 16

My Career http://flickr.com/photos/castor_lycan/304065526/ Matt Raible Building Rich Applications with Appcelerator Slide 17

The Problem Matt Raible Building Rich Applications with Appcelerator Slide 18

How do you choose? Matt Raible Building Rich Applications with Appcelerator Slide 19

Eliminate, Don t Include It s not about including choices, it s about eliminating them. Matt Raible Building Rich Applications with Appcelerator Slide 20

Matt Raible Building Rich Applications with Appcelerator Slide 21

Session Agenda SOFEA and SOUI Appcelerator Overview Creating a Project Application Demo Comparison with Flex and GWT Conclusion and Q & A Matt Raible Building Rich Applications with Appcelerator Slide 22

SOFEA and SOUI SOFEA first introduced in Life above the Service Tier on 10/12/2007. http://www.theserverside.com/news/ thread.tss?thread_id=47213 SOUI introduced by Nolan Wright and Jeff Haynie in early November 2007. http://www.infoq.com/news/2007/11/souideath-of-mvc2 Matt Raible Building Rich Applications with Appcelerator Slide 23

SOFEA and SOUI (Continued) SOFEA Authors have since formed the Thin Server Architecture Working Group. http://www.thinserverarchitecture.com Nolan and Jeff developed Appcelerator. http://www.appcelerator.org Matt Raible Building Rich Applications with Appcelerator Slide 24

SOFEA Principles Decouple the three orthogonal Presentation Tier processes of Application Download, Presentation Flow and Data Interchange. This is the foundational principle of SOFEA. Explore various Application Download options to exploit usefully contrary trade-offs around client footprint, startup time, offline capability and a number of security-related parameters. Presentation Flow must be driven by a client-side component and never by a server-side component. Data Interchange between the Presentation Tier and the Service Tier must not become the weakest link in the endto-end application chainof data integrity. Model-View-Controller (MVC) is a good pattern to use to build the Presentation Tier. Matt Raible Building Rich Applications with Appcelerator Slide 25

Matt Raible Building Rich Applications with Appcelerator Slide 26

Recommended Frameworks DHTML/AJAX frameworks for Modern Browsers Largely handcoded with third party JavaScript libraries Google Web Toolkit TIBCO General Interface Builder XML Dialects for Advanced Browsers XForms and XHTML 2.0 Mozilla XUL Microsoft SilverLight/XAML Java frameworks Java WebStart (with/without Spring Rich Client) JavaFX Adobe Flash-based frameworks Adobe Flex OpenLaszlo Matt Raible Building Rich Applications with Appcelerator Slide 27

Appcelerator Matt Raible Building Rich Applications with Appcelerator Slide 28

SOA in the Browser Matt Raible Building Rich Applications with Appcelerator Slide 29

Web Expression Language Widget Syntax Web Expression Language Syntax http://try.appcelerator.org Matt Raible Building Rich Applications with Appcelerator Slide 30

Widgets http://doc.appcelerator.org/reference/widget_reference/index.html Matt Raible Building Rich Applications with Appcelerator Slide 31

Service Platform public class LoginService { @Service(request = "login.request", response = "login.response") protected void login(message request, Message response) throws Exception { // get request data String username = request.getdata().getstring("username"); String password = request.getdata().getstring("password"); Also has Service Integration Points for PHP, Ruby,.NET, Python and Perl. Matt Raible Building Rich Applications with Appcelerator Slide 32

Other Examples apptunes - widget that wraps Flex Cover Flow widget Snappshot - photo editing application Radio Javan - Persian music online SkyBlox - builds neighborhoods More at http://www.appcelerator.org/demos Matt Raible Building Rich Applications with Appcelerator Slide 33

Creating a Project Download and install from http://appcelerator.org/download app create:project directory project_name java app run:project Go to http://localhost:4000 To create a war, run ant Matt Raible Building Rich Applications with Appcelerator Slide 34

Directory Structure Matt Raible Building Rich Applications with Appcelerator Slide 35

Application Demo Matt Raible Building Rich Applications with Appcelerator Slide 36

Get the Source https://svn.appcelerator.org/appcelerator_sdk/trunk/ https://svn.appcelerator.org/appcelerator_ide/trunk/ https://svn.appcelerator.org/appcelerator_doc/trunk/ https://svn.appcelerator.org/appcelerator_examples/trunk/ Matt Raible Building Rich Applications with Appcelerator Slide 37

Comparing RIA Frameworks Matt Raible Building Rich Applications with Appcelerator Slide 38

Adobe Flex http://www.adobe.com/products/flex Flex SDK under Mozilla Public License Active Community Yahoo Group: http://tech.groups.yahoo.com/group/flexcoders User Groups: http://flex.org/usergroups_list 360 Flex Recommended Books Flexible Rails by Peter Armstrong Flex 3 in Action by Tariq Ahmed Flex on Java by Allmon and Anderson Matt Raible Building Rich Applications with Appcelerator Slide 39

Google Web Toolkit http://code.google.com/webtoolkit Apache 2.0 License Active Community http://groups.google.com/group/google-web-toolkit Pearson s Google Web Toolkit Conference and Google I/O Recommended Books GWT in Action by Hanson and Tacy GWT in Practice by Cooper and Collins Google Web Toolkit Solutions by Geary and Gordon Matt Raible Building Rich Applications with Appcelerator Slide 40

Appcelerator http://appcelerator.org Apache 2.0 License Active Community http://www.appcelerator.org/groups No Conference No Books Matt Raible Building Rich Applications with Appcelerator Slide 41

Adobe Flex Pros Produces Flash UI Funded by Adobe Has many successful client stories Supports REST easily Cons Not Search Engine Friendly Doesn t render HTML content well Doesn t print well by default No Zero Turnaround w/o IDE Matt Raible Building Rich Applications with Appcelerator Slide 42

GWT Pros Write Java Produces JavaScript Vibrant Community Zero Turnaround in Hosted Mode Cons Only good for Java Developers Doesn t support REST very well Operates within the confines of the browser s JavaScript sandbox Matt Raible Building Rich Applications with Appcelerator Slide 43

Appcelerator Pros Easy to Author Good Documentation Java, Ruby, PHP,.NET or Python Cons Not Widely Used Creating an application requires registration Not a Full-Stack Framework Matt Raible Building Rich Applications with Appcelerator Slide 44

Flex vs. JavaScript http://anthonyfranco.wordpress.com/ 2007/06/22/flex-and-ajax-friends-or-foes Use the Best Tool for the Job Open Web: Ajax Video and Rich Media: Flex HTML Rendering: Ajax Vector Graphics and Bitmap Manipulation: Flex Accessibility: Flex Matt Raible Building Rich Applications with Appcelerator Slide 45

Flex vs. Ajax Performance http://www.jamesward.com/census Matt Raible Building Rich Applications with Appcelerator Slide 46

Jobs 90 GWT Flex Ajax Flash 60 30 0 Monster.com - 100 miles of Denver, Colorado Matt Raible Building Rich Applications with Appcelerator Slide 47

Skills from My Network 500 GWT Flex Ajax Flash 375 250 125 0 Located in or near 80210 Matt Raible Building Rich Applications with Appcelerator Slide 48

Conclusion Appcelerator is easy if you like HTML and CSS, but don t like JavaScript. Appcelerator is not a full-stack framework. Flex/Flash is not as restricted by the browser sandbox. Flex supports REST better. SOFEA UIs are fun to develop, but not for every application. Don t Believe The Hype! Prototype and draw your own conclusions. Matt Raible Building Rich Applications with Appcelerator Slide 49

My Thoughts Flex or Ext JS when you have a REST backend REST backends are easy with Rails, Grails and Struts 2 GWT if you re a Swing or backend developer Appcelerator if you want to be language neutral or don t like authoring JavaScript Matt Raible Building Rich Applications with Appcelerator Slide 50

Questions? matt@raibledesigns.com http://raibledesigns.com http://twitter.com/mraible Download Presentation http://raibledesigns.com/rd/page/publications Matt Raible Building Rich Applications with Appcelerator Slide 51