ExtJS 4.0 JavaScript MVC Framework. Who ExtJS is provided by Sencha (www.sencha.com) o Sencha Touch o GWT o CSS Animator o IO (Cloud Data Management)

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
My first computer: The Apple ][ It wanted to be programmed.
The Librarian Web Page Carol Wolf CS396X. Create new controller  To create a new controller that can manage more than just books, type ruby script/generate.
1.  Understanding about How to Working with Server Side Scripting using PHP Framework (CodeIgniter) 2.
Chapter 15 © 2010 by Addison Wesley Longman, Inc Origins and Uses of Ruby - Designed by Yukihiro Matsumoto; released in Use spread rapidly.
IS 360 Course Introduction. Slide 2 What you will Learn (1) The role of Web servers and clients How to create HTML, XHTML, and HTML 5 pages suitable for.
1 Software Testing and Quality Assurance Lecture 33 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
High Performance Faceted Interfaces Using S2S Eric Rozell, Tetherless World Constellation.
From legacy desktop application to Single Page Application By Jens Munk Freelance consultant.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
DB Audit Expert v1.1 for Oracle Copyright © SoftTree Technologies, Inc. This presentation is for DB Audit Expert for Oracle version 1.1 which.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
UNIT-V The MVC architecture and Struts Framework.
Project Rickshaw SEARCH - FIND - GO. Project Rickshaw TEAM MEMBERS KEVIN AUGUSTINO – MATT FOX – DAVID MOORE SPONSORS KARASU TECHNOLOGIES - ERIK PAUL -
Dataface API Essentials Steve Hannah Web Lite Solutions Corp.
NextGen Technology upgrade – Synerizip - Sandeep Kamble.
JavaScript Teppo Räisänen LIIKE/OAMK HTML, CSS, JavaScript HTML defines the structure CSS defines the layout JavaScript is used for scripting It.
Server-side Scripting Powering the webs favourite services.
Day 17. » Client side and Server side » Since PHP is Server side and can output anything we want, we can output to JS. » With JS libraries, we can create.
NODEJS, THE JOOMLA FRAMEWORK, AND THE FUTURE IAN MACLENNAN.
Introduction to ArcGIS API for JavaScript
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Ajax and Ruby on Rails Session 9 INFM 603.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
JSP Java Server Pages Softsmith Infotech.
HTML+JavaScript M2M Applications Viewbiquity Public hybrid cloud platform for automating and visualizing everything.
AJAX and Atlas in ASP.NET 2.0 William J. Steele MSDN Developer Evangelist Microsoft Corporation
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Cross Site Integration “mashups” cross site scripting.
JavaScript Framework for Rich Apps in Every Browser Maura Wilder Joan Wortman
(Chapter 10 continued) Our examples feature MySQL as the database engine. It's open source and free. It's fully featured. And it's platform independent.
Just a Little PHP Programming PHP on the Server. Common Programming Language Features Comments Data Types Variable Declarations Expressions Flow of Control.
JavaScript Framework for Rich Apps in Every Browser Maura Wilder Joan Wortman
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Unleash the Power of jQuery Learning & Development Team Telerik Software Academy.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Presentation.
1) PHP – Personal Home Page Scripting Language 2) JavaScript.
QUnit JavaScript Testing in the Enterprise David Lee Oct. 11, 2011.
Chapter 12© copyright Janson Industries Java Server Faces ▮ Explain the JSF framework ▮ SDO (service data objects) ▮ Facelets ▮ Pagecode classes.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 2: Introduction to IS2803 Rob Gleasure
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Basics Components of Web Design & Development Basics, Components, Design and Development.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
Google Web Toolkit Tutorial
Programmer: Roman Martushev
A very brief introduction
Introduction to CodeIgniter (CI)
PHP Training at GoLogica in Bangalore
IS 360 Course Introduction
Web Browser server client 3-Tier Architecture Apache web server PHP
jQuery The Easy JavaScript Nikolay Chochev Technical Trainer
Web Client Side Technologies Raneem Qaddoura
Presentation transcript:

ExtJS 4.0 JavaScript MVC Framework

Who ExtJS is provided by Sencha ( o Sencha Touch o GWT o CSS Animator o IO (Cloud Data Management)

What ExtJS is a MVC Framework o Model-View-Control o Unlike JQuery and other major JS library providers

When ExtJS 4.0 was released around April 2011

Why This is really what matters (MVC) o Easy Client-side data modeling  Relational Models o Simple to use GUI widgets o Full robustness of EcmaScript control

MVC Why is MVC so important? o In this case, it is because it is 100%, agent-based, client side code o This means typical MVC on the server is not needed  Good or Bad? Design decision

Server Side MVC

Server Side Models Server Side Models are simple classes that house an 'instantiated' version of a resource record o Resource Records can be a row from a MySql Table, required parameters from another server public api, web service, etc These models should be transparent to the controller on how the raw data is represented, but rather be in a specified format for the controller

Server Side Models To facilitate how the model instantiates data, usually a map is present The Map is capable of understanding how to speak with the resource o "Select `id`, `first`, `last` from `names` The model would then have member variables: o $model->id o $model->first o $model->last o....

Server Side Models All of my models have key features o 1-to-1 resource mapping o $model->save() o $model->find() o $model->delete() Similar to CRUD operations except I leave save() to determine wether it is Create or Update o CRUD === 'Create Read Update Destroy'

Server Side Views Sever Side View classes, for most frameworks, take the model data and return the requested type of view o echo($view->buildTable(records)); This buildTable() function is called by a controller, who then echo()'s the html generated by the view Has one major fault o What happens when I want to use this server side stack for mobile apps? Are there any performance flaws?

Server Side Control We have seen that how models and views work o These require some sort of delegation Controllers will receive the request from the client (old view), do any preprocessing, call the model (CRUD), use the model data, call the view, and return the html Within this return, we usually find JavaScript embedded as a code agent to 'enchance' our viewing pleasure. What if we mixed this up a bit and used JavaScript as our primary source of control?

Client Side JS with ExtJS MVC for JavaScript Exactly same process for server side stack, except we now try to use the server as little as possible o This allows for powerful client machines to do most of our processing and rendering o Only allow the client to manipulate data that can be considered hostile!

ExtJS Models The most important feature of ExtJS o Can have relational models!!!!!!! o Example:  Orders (a model) can have many Order Items (another model) o Each record of orders is stored in store o Each record of orders points to another store that has its Order items o This allows us to select an order, and then immediately have access to all its order items

ExtJS View Since this is JavaScript, we immediately expect robust GUI widgets Of course, you can add CSS and style them

ExtJS Control JavaScript is a functional language o This allows for very strong and very easy control logic o Of course, you can still use OOP style if desired

So how does this all work? By using MVC on the client side: o We only need to contact the server when using CRUD operations o By control logic when otherwise needed Lets go through an example

Simple Form with Grid Our goal will be to make a form, that upon submit, updates a local store This store feeds a grid and will automatically update when a new record is inserted

Our data we will work with JSON (JavaScript Object Notation)

Configure Script We first must wrap all of our JavaScript within an onLoad() function

Create the Model Typically, we will always represent modeled data, so it seems wise to start there Similar to the server stack, we use the model to communicate with the resource o In this case, a flat file named contacts.json

Create the View

Tie in the Control

Final Product

Now lets create this