Modern Web Applications with Flask and Backbone.js. /Yaniv (Aknin Ben-Zaken)/ February 2013
|
|
|
- Mitchell Marshall
- 10 years ago
- Views:
Transcription
1 Modern Web Applications with Flask and Backbone.js /Yaniv (Aknin Ben-Zaken)/ February 2013
2 Web application? Modern? CGI Real Time Web C10K+; websockets; Comet Static files t HTML st MVC Frameworks ASP; ColdFusion; PHP 1 st Browser War MSIE 6.0 ; Netscape 4.0 RESTish APIs 2 nd MVC Frameworks Django; Rails 2 nd Browser War MSIE; Firefox; Webkit; V8 Proprietary Plugins HTML5/CSS3 Adobe Flash SPA / Frontend MVC HTML4/CSS1/AJAX
3 MVC MVC is a design pattern Introduced in SmallTalk in the 70' Parts Model - the data View - the presentation of the data Controller - user interaction Move javascript implementations are some variation on the pattern and not pure MVC
4 MVC Why do we need a client side MVCish solution? A simple list and a counter example No client side data manipulation Getting the list Server 6 Client 6 HTML
5 MVC Why do we need a client side MVCish solution? A simple list and a counter example No client side data manipulation Sending a delete action Server Client 6
6 MVC Why do we need a client side MVCish solution? A simple list and a counter example No client side data manipulation Getting an updated page - List and counter are synced Server 5 Client 5 HTML
7 MVC Why do we need a client side MVCish solution? A simple list and a counter example Client side data manipulation by dom mutation Getting the list Server 6 Client 6 HTML
8 MVC Why do we need a client side MVCish solution? A simple list and a counter example Client side data manipulation by dom mutation Sending a delete request and getting confirmation Server Client 6 Delete Confirmation AJAX
9 MVC Why do we need a client side MVCish solution? A simple list and a counter example Client side data manipulation by dom mutation Client side removes the item and update the counter to match Server Client 5 Update the counter The down-side of the data being mixed with the representation is that each data manipulation code must be aware of all the existing ways it is shown, and update them.
10 MVC Why do we need a client side MVCish solution? A simple list and a counter example Client side data manipulation by dom mutation Updating every other representation of this data Server Client 5 Update the counter, AND THE OTHER LIST Suppose we want to have a thumbnail list widget in the corner, we'll have to update the delete code to update that as well.
11 MVC Why do we need a client side MVCish solution? A simple list and a counter example Client side data manipulation by dom mutation Updating every other representation of this data Server Client 5 Update the counter, AND THE OTHER LIST Suppose we want to have a thumbnail list widget in the corner, we'll have to update the delete code to update that as well.
12 MVC Why do we need a client side MVCish solution? A simple list and a counter example Client side data manipulation using a model and mutiple views The server sent only data, not html. The html is built by the views. Server Model Views JSON DATA 5 AJAX After a delete, the model is changed. The views Observe the model and update themselves after a change. The model isn't aware of the different views and their implementation. Code is easier to maintain.
13 Web Application: concepts Backend Frontend Persistence Logic (Resource State) Pages and Assets Misc. Legacy resources UI Layout Validation Non persistent logic (Session state) Easy to get started - challenges are typically with deployment, scale, monitor, secure, etc
14 Web Application: roles Backend Frontend API Auth Assets Deployment Batch jobs (no views!) RESTish API Templating Browser Abstraction MVC Framework Scripting/stylesheet syntactic sugar Pixel Perfection
15 RESTish REST: Architectural style pioneered by Roy Fielding Often misunderstood and misimplemented Strict adherence to constraints defines RESTfulness RESTish is what we call "REST inspired" services Common principles client-server over HTTP resource oriented & uniform interface stateless (or stateleast) layered and cachable not really RESTful...
16 Crash course: FLSK 101 #!/usr/bin/env python from flask import Flask app = Flask( name def hello_world(): return 'Hello World!' if name == ' main ': app.run(debug=true)
17 Things to keep in mind Flask is surprisingly thin Read the source, Luke Get familiar with Werkzeug Brilliant context locals are brilliant Flask in under ten lines: class Flask(_PackageBoundObject):... def wsgi_app(self, environ, start_response): with self.request_context(environ): try: response = self.full_dispatch_request() except Exception, e: rv = self.handle_exception(e) response = self.make_response(rv) return response(environ, start_response)
18 Crash course: FLSK 102 #!/usr/bin/env python import os from httplib import ACCEPTED, FORBIDDEN from flask import Flask, request app = Flask( name methods=['delete']) def reboot(): if request.values.get('password') == 'secret': os.system('sudo shutdown now') return 'ok', ACCEPTED return 'no', FORBIDDEN if name == ' main ': app.run()
19 Crash course: FLSK def show_entries(): cur = g.db.execute(select_sql) ent = [dict(ttl=r[0], txt=r[1]) for r in cur. fetchall()] return render_template('show_entries.html', methods=['post']) def add_entry(): if not session.get('logged_in'): abort(unauthorized) g.db.execute(insert_sql, [request.form['title'], request.form['text']]) g.db.commit() flash('new entry was successfully posted') return redirect(url_for('show_entries'))
20 Crash course: FLSK def show_entries(): cur = g.db.execute(select_sql) ent = [dict(ttl=r[0], txt=r[1]) for r in cur. fetchall()] return render_template('show_entries.html', methods=['post']) def add_entry(): if not session.get('logged_in'): abort(unauthorized) g.db.execute(insert_sql, [request.form['title'], request.form['text']]) g.db.commit() flash('new entry was successfully posted') return redirect(url_for('show_entries')) This is server side MVC! (read: not our cup of tea)
21 Crash course: FLSK def user_page(id): User.query.get_or_404(id) return render_template('user.html', user_id = id, ) {% extends "webapp.html" %} {% block head %} {{ super() }} <script type="text/javascript"> window.xx.context.user_id = {{ user_id tojson safe }}; $(function() { UserPage({el: $('.user_page')}); }); </script> <script type="text/javascript" src="{% asset "user.js" %}"></script> <link rel="stylesheet" href="{% asset "user.css" %}"/> {% endblock %} {% block body %} {{ super() }} <div class="user_page"> <div id="header_bar"><div class="logo"></div></div> </div> {% endblock %}
22 Crash course: FLSK def user_page(id): User.query.get_or_404(id) return render_template('user.html', user_id = id, ) {% extends "webapp.html" %} {% block head %} {{ super() }} <script type="text/javascript"> window.xx.context.user_id = {{ user_id tojson safe }}; $(function() { UserPage({el: $('.user_page')}); }); </script> <script type="text/javascript" src="{% asset "user.js" %}"></script> <link rel="stylesheet" href="{% asset "user.css" %}"/> {% endblock %} {% block body %} {{ super() }} <div class="user_page"> <div id="header_bar"><div class="logo"></div></div> </div> {% endblock %} Complete View & Template of user page (you're not seeing much here - that's the point!)
23 Crash course: FLSK def user_page(id): User.query.get_or_404(id) return render_template('user.html', user_id = id, ) {% extends "webapp.html" %} {% block head %} {{ super() }} <script type="text/javascript"> window.xx.context.user_id = {{ user_id tojson safe }}; $(function() { UserPage({el: $('.user_page')}); }); </script> <script type="text/javascript" src="{% asset "user.js" %}"></script> <link rel="stylesheet" href="{% asset "user.css" %}"/> {% endblock %} {% block body %} {{ super() }} <div class="user_page"> <div id="header_bar"><div class="logo"></div></div> </div> {% endblock %} Complete View & Template of user page (you're not seeing much here - that's the point!)
24 flask-assets crash course Flask extension wrapping the webassets package Declaratively define your pages' assets Assets are filtered during deployment / on the fly (development) from flask.ext.assets import Environment, Bundle from.app import app assets = Environment(app) coffee = Bundle('js/lib/lib.coffee', 'js/lib/auth.coffee', filters="coffeescript", debug=false, output="gen/base.coffee.js") js = Bundle('js/vendor/underscore.js', 'js/vendor/backbone.js', coffee output="gen/base.js", filters="yui_js") assets.register('base.js', js)
25 flask-assets crash course Flask extension wrapping the webassets package Declaratively define your pages' assets Assets are filtered during deployment / on the fly (development) from flask.ext.assets import Environment from utils.flaskutils import register_assets from.app import app spec = { "base.js": ('js/lib/lib.coffee', 'js/lib/auth.coffee', 'js/vendor/underscore.js', 'js/vendor/backbone.js') } register_assets(assets, spec)
26 flask-restful crash course "Flask-RESTful provides the building blocks for creating a great REST API" Read: "...for easily creating a decent RESTish API" Intensely down-to-business, not coupled to anything (db, etc) Highly recommended, still under development from myproject import app from flask.ext import restful api = restful.api(app) class HelloWorld(restful.Resource): def get(self): return {'hello': 'world'} api.add_resource(helloworld, '/')
27 flask-sqlalchemy crash course Flask extension wrapping the incredible SQLAlchemy package Every ORM I saw trades power for simplicity - SA trades very little power yet stays decently simple Great layered approach from high level ORM to declarative API for SQL from flask.ext.sqlalchemy import SQLAlchemy from.app import app db = SQLAlchemy(app) class User(db.Model): id = db.column(db.integer, primary_key=true) username = db.column(db.string(80), unique=true) def init (self, username): self.username = username def repr (self): return '<User %r>' % self.username
28 Two great tastes that taste great together! class Marshallable(Resource): method_decorators = (marshal_with(self.fields),) class Entity(Marshallable): def build_query(self): return self.model.query def get(self, id): return self.build_query().get_or_404(id) class UserMixin(object): fields = {"username": String} model = models.user class User(UserMixin, Entity): pass api.add_resource(user, '/api/users/<int:id>', endpoint='api_user')
29 Suggested project layout $ find * -maxdepth 2 vi - manage.py requirements.txt runcommands.sh backend/ api/ app.py assets.py auth.py models.py static@ templates/ views.py config/ settings.py frontend/ index/ core.coffee core.scss hello_world.jst <more pages> utils/ <more app specific code>/
30 Suggested project layout $ find * -maxdepth 2 vi - manage.py requirements.txt runcommands.sh backend/ api/ app.py assets.py auth.py models.py static@ templates/ views.py config/ settings.py frontend/ index/ core.coffee core.scss hello_world.jst <more pages> utils/ <more app specific code>/
31 Bonus slide: authentication Make sessions a resource PUT for login, DELETE for logout, GET for whoami Easy to implement with flask-login and flask-restful class Session(Resource): fields = dict(basic_user_fields) def marshal(self, user): return marshal(user, self.fields) def get(self): if current_user: return self.marshal(current_user), OK return None, NO_CONTENT def delete(self): if not current_user: return None, NO_CONTENT logout_user() return None, required=true, choices=backends)) def put(self, params): try: user, created = backends[params.kind]() return self.marshal(user), CREATED if created else OK except InvalidAuth, error: return {"message": error.msg}, error.status
32 Backbone Provides small amount of useful building blocks and the rest is up to you Has a strong following and a lot of extensions are available Main parts: Model View Collection Router Events - All of the parts can be used with a pub/sub pattern using backbone events methods (*Templates) - Backbone doesn't come with templating, you can use any js templating solution. We will use underscore's templates.
33 Backbone The files which make up our example's frontend app: AppView.coffee Router.coffee TodoCollection.coffee TodoModel.coffee TodoView.coffee app.coffee css img jst
34 Backbone - Model Used for data You get listen to change events Can be have a url and be synced with the backend window.jj.todomodel = class TodoModel extends Backbone.Model defaults: title: '' completed: false toggle: { completed:!@get('completed') }
35 Backbone - Collection A collection is a list of models Useful events for a model add, remove, change, etc Also can be fetched or sent as whole to the server window.jj.todocollection = class TodoCollection extends Backbone.Collection model: jj.todomodel url : "/api/todos/" completed: -> -> return todo.get('completed') ) remaining: @completed() nextorder: -> if return comparator: (todo) -> return todo.get('order')
36 Backbone - View - single item Handles a dom element or sub-views Open for interpretation, and has many ways to use Usually will listen to a Model's changes and re-render itself when needed window.jj.todoview = class TodoView extends Backbone.View tagname: 'li' template: _.template jj.jst["todo/jst/item.jst"] events: 'click.toggle': 'togglecompleted' 'dblclick label': 'edit' 'click.destroy': 'clear' 'keypress.edit': 'updateonenter' 'blur.edit': 'close' User interaction Listens to model changes @$input Render the element
37 Backbone - View - single item togglevisible: ishidden: -> iscompleted return (!iscompleted and (jj.app?.todofilter is 'completed')) or (iscompleted and (jj.app?.todofilter is 'active')) togglecompleted: edit: close: -> value if { title: value 'editing' updateonenter: (e) -> if e.which is clear: Update the model Remove the model
38 Backbone - View - items list We can see the view manages item views Also listens to the router for url/hash changes and updates state window.jj.appview = class AppView extends Backbone.View template: _.template jj.jst["todo/jst/app.jst"] statstemplate: _.template jj.jst["todo/jst/stats.jst"] events: 'keypress #new-todo': 'createonenter' 'click #clear-completed': 'clearcompleted' 'click #toggle-all': 'toggleallcomplete' @$main User initrouter : = Listens to collection changes Listens to the router
39 Backbone - View - items list render: -> completed remaining completed: completed remaining: remaining li a').removeclass('selected').filter('[href="#/' + ( jj.app?.todofilter or '' ) + @allcheckbox.checked =!remaining updatefilter : (param) -> jj.app.todofilter = param.trim() or Building the main element Managing visibility according to filters addone: (todo) -> view = new jj.todoview({ model: todo }) $('#todo-list').append view.render().el @)... Managing the list items rendering
40 Backbone - Launching it all We initialize our main view and pass to it the dom element it is responsible for and the collection In general it is easier to maintain views that don't expect dom elements to be already present or models that are on a expected global (principle of least privilege) Existing DOM: <section id="todoapp"></section> <div id="info"> <p>double-click to edit a todo</p> <p>based on the work of <a href=" com/addyosmani">addy Osmani</a></p> <p>part of <a href=" >TodoMVC</a></p> <p>modified by Yaniv Ben-Zaken (@cizei)</p> </div> app.coffee code: $ -> jj.app = new jj.appview el : $('#todoapp') collection : new jj.todocollection This all the HTML and JS you have in order to launch the app. All the rest is in templates which get rendered after by code this 4 js lines launch. Backbone.history.start()
41 Backbone - Template Backbone come with it's own templating system There are many libraries for js-templates you can plug in and use, in most of them basically you convert a string to function which will accept a key value pairings as context and give you back an html string Item template example (using underscore.js templates): <div class="view"> <input class="toggle" type="checkbox" <%= completed? 'checked' : '' %>> <label><%- title %></label> <button class="destroy"></button> </div> <input class="edit" value="<%- title %>">
42 Web Application: packages Backend Frontend flask-restful flask-sqlalchemy flask-login flask-assets flask-script rq (postgres, redis, gunicorn, gevent) RESTish API Backbone.js jquery underscore.js CoffeeScript SCSS
43 Additional resources! flask-todo: "modern webapp" based on real code In Flask we Trust (great Flask primer) Thoughts on RESTful API Design (don't do REST without this!) Fielding on poor REST implementations (read the links, too) Addy Osmani's TodoMVC Coverage of MVC history and client side solutions http: //addyosmani.com/blog/digesting-javascript-mvc-pattern-abuse-or-evolution/
44 Thank you! (pssst: All that stuff sounds cool? is hiring! Talk to us!)
Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood
Mobile development with Apache OFBiz Ean Schuessler, co-founder @ Brainfood Mobile development For the purposes of this talk mobile development means mobile web development The languages and APIs for native
Developer Tutorial Version 1. 0 February 2015
Developer Tutorial Version 1. 0 Contents Introduction... 3 What is the Mapzania SDK?... 3 Features of Mapzania SDK... 4 Mapzania Applications... 5 Architecture... 6 Front-end application components...
Slides from INF3331 lectures - web programming in Python
Slides from INF3331 lectures - web programming in Python Joakim Sundnes & Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory October 2013 Programming web applications
Web Development with Flask and the Raspberry Pi Leading by Example CUAUHTEMOC CARBAJAL ITESM CEM 22/04/2014
Web Development with Flask and the Raspberry Pi Leading by Example CUAUHTEMOC CARBAJAL ITESM CEM 22/04/2014 Introduction Flask: lightweight web application framework written in Python and based on the
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask Devert Alexandre December 29, 2012 Slide 1/62 Table of Contents 1 Model-View-Controller 2 Flask 3 First steps 4 Routing 5 Templates
Modern Web Development From Angle Brackets to Web Sockets
Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about
Web [Application] Frameworks
Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access
Mojolicious. Marcos Rebelo ([email protected])
Mojolicious Marcos Rebelo ([email protected]) Mojolicious An amazing real-time web framework supporting a simplified single file mode through Mojolicious::Lite. Very clean, portable and Object Oriented
CIS 192: Lecture 10 Web Development with Flask
CIS 192: Lecture 10 Web Development with Flask Lili Dworkin University of Pennsylvania Web Frameworks We ve been talking about making HTTP requests What about serving them? Flask is a microframework small
Progressive Enhancement With GQuery and GWT. Ray Cromwell [email protected]
Progressive Enhancement With GQuery and GWT Ray Cromwell [email protected] Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads
Framework as a master tool in modern web development
Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC [email protected],
Developing ASP.NET MVC 4 Web Applications MOC 20486
Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies
Pentesting Web Frameworks (preview of next year's SEC642 update)
Pentesting Web Frameworks (preview of next year's SEC642 update) Justin Searle Managing Partner UtiliSec Certified Instructor SANS Institute [email protected] // @meeas What Are Web Frameworks Frameworks
Web Cloud Architecture
Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. [email protected] Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented
How To Build A Web App
UNCLASSIFIED Next Gen Web Architecture for the Cloud Era Chief Scientist, Raytheon Saturn 2013 28 Apr - 3 May Copyright (2013) Raytheon Agenda Existing Web Application Architecture SOFEA Lessons learned
Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB
21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping
Developing ASP.NET MVC 4 Web Applications
Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools
JavaScript Programming
JavaScript Programming Pushing the Limits ADVANCED APPLICATION DEVELOPMENT WITH JAVASCRIPT & HTML5 Jon Raasch WILEY Contents About the Author vi Dedication vii About the Contributor ix Acknowledgments
Course Name: Course in JSP Course Code: P5
Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: [email protected] Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i
latest Release 0.2.6
latest Release 0.2.6 August 19, 2015 Contents 1 Installation 3 2 Configuration 5 3 Django Integration 7 4 Stand-Alone Web Client 9 5 Daemon Mode 11 6 IRC Bots 13 7 Bot Events 15 8 Channel Events 17 9
Rapid Website Deployment With Django, Heroku & New Relic
TUTORIAL Rapid Website Deployment With Django, Heroku & New Relic by David Sale Contents Introduction 3 Create Your Website 4 Defining the Model 6 Our Views 7 Templates 7 URLs 9 Deploying to Heroku 10
Nupic Web Application development
Nupic Web Application development Contents Focus in... 1 Why to build a Web Application?... 1 The common data flow schema... 1 Tools... 2 Preparations... 2 Download/Install Django... 2 Check if Django
Web Programming Languages Overview
Web Programming Languages Overview Thomas Powell [email protected] Web Programming in Context Web Programming Toolbox ActiveX Controls Java Applets Client Side Helper Applications Netscape Plug-ins Scripting
Web Development Frameworks
COMS E6125 Web-enHanced Information Management (WHIM) Web Development Frameworks Swapneel Sheth [email protected] @swapneel Spring 2012 1 Topic 1 History and Background of Web Application Development
socketio Documentation
socketio Documentation Release 0.1 Miguel Grinberg January 17, 2016 Contents 1 What is Socket.IO? 3 2 Getting Started 5 3 Rooms 7 4 Responses 9 5 Callbacks 11 6 Namespaces 13 7 Using a Message Queue 15
Web Application Frameworks. Robert M. Dondero, Ph.D. Princeton University
Web Application Frameworks Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about: The Django web app framework Other MVC web app frameworks (briefly) Other web app frameworks
MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Reference Application Architecture Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
Web Design Technology
Web Design Technology Terms Found in web design front end Found in web development back end Browsers Uses HTTP to communicate with Web Server Browser requests a html document Web Server sends a html document
Architecture Workshop
TIE-13100 / TIE-13106 Tietotekniikan projektityö / Project Work on Pervasive Systems Architecture Workshop Hadaytullah Marko Leppänen 21.10.2014 Workshop Plan Start Technologies Table (Collaboration) Workshop
Learning Web App Development
Learning Web App Development Semmy Purewal Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface xi 1. The Workflow 1 Text Editors 1 Installing Sublime Text 2 Sublime Text
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
What s really under the hood? How I learned to stop worrying and love Magento
What s really under the hood? How I learned to stop worrying and love Magento Who am I? Alan Storm http://alanstorm.com Got involved in The Internet/Web 1995 Work in the Agency/Startup Space 10 years php
EECS 398 Project 2: Classic Web Vulnerabilities
EECS 398 Project 2: Classic Web Vulnerabilities Revision History 3.0 (October 27, 2009) Revise CSRF attacks 1 and 2 to make them possible to complete within the constraints of the project. Clarify that
Drupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
Apache Sling A REST-based Web Application Framework Carsten Ziegeler [email protected] ApacheCon NA 2014
Apache Sling A REST-based Web Application Framework Carsten Ziegeler [email protected] ApacheCon NA 2014 About [email protected] @cziegeler RnD Team at Adobe Research Switzerland Member of the Apache
Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY
Advanced Web Development Duration: 6 Months SCOPE OF WEB DEVELOPMENT INDUSTRY Web development jobs have taken thе hot seat when it comes to career opportunities and positions as a Web developer, as every
Scalable and Efficient Web Application Architectures. Thin-clients and SQL vs. Thick-clients and NoSQL
Scalable and Efficient Web Application Architectures Thin-clients and SQL vs. Thick-clients and NoSQL Michael K. Gunnulfsen Master Thesis Spring 2013 Scalable and Efficient Web Application Architectures
CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
Web Server Languages Summer 2014. Thomas A. Powell [email protected]
Web Server Languages Summer 2014 Thomas A. Powell [email protected] http://www.pint.com/classes/cse135 Housekeeping Syllabus review Class page http://classes.pint.com/cse135/ Updated syllabus, notes, homework
Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
Traitware Authentication Service Integration Document
Traitware Authentication Service Integration Document February 2015 V1.1 Secure and simplify your digital life. Integrating Traitware Authentication This document covers the steps to integrate Traitware
Implementing Mobile Thin client Architecture For Enterprise Application
Research Paper Implementing Mobile Thin client Architecture For Enterprise Paper ID IJIFR/ V2/ E1/ 037 Page No 131-136 Subject Area Information Technology Key Words JQuery Mobile, JQuery Ajax, REST, JSON
The Django web development framework for the Python-aware
The Django web development framework for the Python-aware Bill Freeman PySIG NH September 23, 2010 Bill Freeman (PySIG NH) Introduction to Django September 23, 2010 1 / 18 Introduction Django is a web
White Paper On. Single Page Application. Presented by: Yatin Patel
White Paper On Single Page Application Presented by: Yatin Patel Table of Contents Executive Summary... 3 Web Application Architecture Patterns... 4 Common Aspects... 4 Model... 4 View... 4 Architecture
Shipbeat Magento Module. Installation and user guide
Shipbeat Magento Module Installation and user guide This guide explains how the Shipbeat Magento Module is installed, used and uninstalled from your Magento Community Store. If you have questions or need
Introduction to web development and JavaScript
Objectives Chapter 1 Introduction to web development and JavaScript Applied Load a web page from the Internet or an intranet into a web browser. View the source code for a web page in a web browser. Knowledge
Managing User Accounts and User Groups
Managing User Accounts and User Groups Contents Managing User Accounts and User Groups...2 About User Accounts and User Groups... 2 Managing User Groups...3 Adding User Groups... 3 Managing Group Membership...
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development
Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails
Outline Lecture 18: Ruby on Rails Wendy Liu CSC309F Fall 2007 Introduction to Rails Rails Principles Inside Rails Hello World Rails with Ajax Other Framework 1 2 MVC Introduction to Rails Agile Web Development
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
A Web- based Approach to Music Library Management. Jason Young California Polytechnic State University, San Luis Obispo June 3, 2012
A Web- based Approach to Music Library Management Jason Young California Polytechnic State University, San Luis Obispo June 3, 2012 Abstract This application utilizes modern standards developing in web
Design and Functional Specification
2010 Design and Functional Specification Corpus eready Solutions pvt. Ltd. 3/17/2010 1. Introduction 1.1 Purpose This document records functional specifications for Science Technology English Math (STEM)
Web application Architecture
2014 Cesare Pautasso 1 / 29 Very Thin Client 6 / 29 AJAX Input/ Output Prof. Cesare Pautasso http://www.pautasso.info [email protected] Client/Server 7 / 29 @pautasso 5 / 29 Web application Architecture
General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support
General principles and architecture of Adlib and Adlib API Petra Otten Manager Customer Support Adlib Database management program, mainly for libraries, museums and archives 1600 customers in app. 30 countries
Avaya Inventory Management System
Avaya Inventory Management System June 15, 2015 Jordan Moser Jin Oh Erik Ponder Gokul Natesan Table of Contents 1. Introduction 1 2. Requirements 2-3 3. System Architecture 4 4. Technical Design 5-6 5.
Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 [email protected] Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application
Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts
IBM Script Portlet for WebSphere Portal Release 1.1
IBM Script Portlet for WebSphere Portal Release 1.1 Topics Why script applications for WebSphere Portal The Script Portlet approach and its benefits Using Script Portlet Accessing data and services Downloadable
Web-Application Security
Web-Application Security Kristian Beilke Arbeitsgruppe Sichere Identität Fachbereich Mathematik und Informatik Freie Universität Berlin 29. Juni 2011 Overview Web Applications SQL Injection XSS Bad Practice
Integration the Web 2.0 way. Florian Daniel ([email protected]) April 28, 2009
Web Mashups Integration the Web 2.0 way Florian Daniel ([email protected]) April 28, 2009 What are we talking about? Mashup possible defintions...a mashup is a web application that combines data from
Web Development. How the Web Works 3/3/2015. Clients / Server
Web Development WWW part of the Internet (others: Email, FTP, Telnet) Loaded to a Server Viewed in a Browser (Client) Clients / Server Client: Request & Render Content Browsers, mobile devices, screen
WE BUILD ONLINE SYSTEMS USEFUL WEB & MOBILE APPLICATIONS
WE BUILD ONLINE SYSTEMS USEFUL WEB & MOBILE APPLICATIONS Ruby On Rails Android Apple HTML5 RWD EXAMPLE CV OF OUR TEAM MEMBERS SENIOR CORE DEVELOPER SENIOR CORE DEVELOPER PROFILE SKILLS Bartosz is a developer,
Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10
Chapter 1: An Overview Of Ruby Rails 1) What is Ruby on Rails?... 1-2 2) Overview of Rails Components... 1-3 3) Installing Rails... 1-5 4) A Simple Rails Application... 1-6 5) Starting the Rails Server...
J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX
Oracle Application Express 3 The Essentials and More Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Arie Geller Matthew Lyon J j enterpririse PUBLISHING BIRMINGHAM
Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is
Chris Panayiotou Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is the current buzz in the web development
About ZPanel. About the framework. The purpose of this guide. Page 1. Author: Bobby Allen ([email protected]) Version: 1.1
Page 1 Module developers guide for ZPanelX Author: Bobby Allen ([email protected]) Version: 1.1 About ZPanel ZPanel is an open- source web hosting control panel for Microsoft Windows and POSIX based
The Web as a Client-Server System; TCP/IP intro!
The Web as a Client-Server System; TCP/IP intro! Engineering Software as a Service 2.1 2.2" Armando Fox! 2013 Armando Fox & David Patterson, all rights reserved 1! 2! Web at 100,000 feet! The web is a
Bachelor Project System (BEPsys)
Bachelor Project System (BEPsys) by Sarah Bashirieh - 1523259 Nima Rahbari - 1515659 Electrical Engineering, Mathematics and Computer Science Delft University of Technology October 2013 Abstract In this
Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript
Overview In the beginning Static vs. Dynamic Content Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript AJAX Libraries and Frameworks
Working with Structured Data in Microsoft Office SharePoint Server 2007 (Part1): Configuring Single Sign On Service and Database
Working with Structured Data in Microsoft Office SharePoint Server 2007 (Part1): Configuring Single Sign On Service and Database Applies to: Microsoft Office SharePoint Server 2007 Explore different options
FormAPI, AJAX and Node.js
FormAPI, AJAX and Node.js Overview session for people who are new to coding in Drupal. Ryan Weal Kafei Interactive Inc. http://kafei.ca These slides posted to: http://verbosity.ca Why? New developers bring
Certified PHP/MySQL Web Developer Course
Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,
CIS 192: Lecture 10 Web Development with Flask
CIS 192: Lecture 10 Web Development with Flask Lili Dworkin University of Pennsylvania Last Week s Quiz req = requests.get("http://httpbin.org/get") 1. type(req.text) 2. type(req.json) 3. type(req.json())
place/business fetch details, 184 185 removefromfavorite () function, 189 search button handler bind, 190 191 B BlackBerry build environment
Index A addtofavorite() method, 175 177, 188 189 Android ADT Plugin for Eclipse installation, 22 24 application, GWT Build Path, 244 device info, 247 directory structure, 244, 245 Eclipse classpath, 244
An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition
An Oracle White Paper June 2014 RESTful Web Services for the Oracle Database Cloud - Multitenant Edition 1 Table of Contents Introduction to RESTful Web Services... 3 Architecture of Oracle Database Cloud
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
DIPLOMA IN WEBDEVELOPMENT
DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags
Web Applications Testing
Web Applications Testing Automated testing and verification JP Galeotti, Alessandra Gorla Why are Web applications different Web 1.0: Static content Client and Server side execution Different components
Project 2: Web Security Pitfalls
EECS 388 September 19, 2014 Intro to Computer Security Project 2: Web Security Pitfalls Project 2: Web Security Pitfalls This project is due on Thursday, October 9 at 6 p.m. and counts for 8% of your course
Short notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
Web Applications Come of Age
Web Applications Come of Age Table of Contents Executive Summary 1 A Brief History of Web Development 2 The JS Web App: A New Paradigm 4 Request-Response Model 5 JavaScript Web Application Model 7 Why
Quick Start Guide Mobile Entrée 4
Table of Contents Table of Contents... 1 Installation... 2 Obtaining the Installer... 2 Installation Using the Installer... 2 Site Configuration... 2 Feature Activation... 2 Definition of a Mobile Application
Electronic Ticket and Check-in System for Indico Conferences
Electronic Ticket and Check-in System for Indico Conferences September 2013 Author: Bernard Kolobara Supervisor: Jose Benito Gonzalez Lopez CERN openlab Summer Student Report 2013 Project Specification
CLASSROOM WEB DESIGNING COURSE
About Web Trainings Academy CLASSROOM WEB DESIGNING COURSE Web Trainings Academy is the Top institutes in Hyderabad for Web Technologies established in 2007 and managed by ITinfo Group (Our Registered
RIA Technologies Comparison
RIA Technologies Comparison Focus Since the subject is huge I will first present a general view and then focus on more ( hopefully ) interesting parts Also, some key points need to be established: Technologies
Rapid Application Development. and Application Generation Tools. Walter Knesel
Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,
Introduction to FreeNAS development
Introduction to FreeNAS development John Hixson [email protected] ixsystems, Inc. Abstract FreeNAS has been around for several years now but development on it has been by very few people. Even with corporate
Security features of ZK Framework
1 Security features of ZK Framework This document provides a brief overview of security concerns related to JavaScript powered enterprise web application in general and how ZK built-in features secures
