Modern web applications

Slides:



Advertisements
Similar presentations
Castafiore platform Consists or intend to consist of 1.Advanced Web framework 2.Advanced Graph database 3.Designer studio (something like visual basic)
Advertisements

Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
PHP and CSS to control web apps styles. CSS is used to style today’s web applications.
Apache Struts Technology
ProJAX An AJAX Framework for Progress Tom Bascom President Greenfield Technologies
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Development of mobile applications using PhoneGap and HTML 5
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
UNIT-V The MVC architecture and Struts Framework.
Presented by…. Group 2 1. Programming language 2Introduction.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Mobile Web Applications
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Yahoo! User Interface (YUI) Library Natly Mekdara.
Introduction to Silverlight. Slide 2 What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service.
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
Google Web Toolkit An Overview By Shauvik Roy Choudhary.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
Embedded Software SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
Putting Performance Best Practices Together to Create the Perfect SPA Chris Love2Dev.com.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Web Components Polymer. Agenda I want bootstrap : 3 Today.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Best Web Technologies for
Project Dynamic Faces World Class AJAX for JavaServer™ Faces Technology Ed Burns Senior Staff Engineer Enterprise Java Platforms.
Building Enterprise Applications Using Visual Studio®
Web Technologies Computing Science Thompson Rivers University
Introducing NativeScript
Google Web Toolkit Tutorial
Kendo UI Builder Bob Brennan
Web Software Model CS 4640 Programming Languages for Web Applications
Michael Robertson Yuta Takayama Google Closure Tools.
The merging of Web and Mobile APP
Migrating Oracle Forms Using Oracle Application Express
SharePoint Framework Extensions
Best Angular 2 interview questions and Answer that have been designed for Angular 2 programmers who are preparing online interviews on Angular 2 interviews question. Visit Website:
Not Sure how you Should React
Introduction to Silverlight
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Design and Maintenance of Web Applications in J2EE
Java Web Application Framework
.NET and .NET Core 7. XAML Pan Wuming 2017.
Continuous Client Side Localization
Modern web applications
Lecture 1: Multi-tier Architecture Overview
Web Application Architectures
Rich single page applications with SharePoint
JavaServer Faces: The Fundamentals
Web Application Architectures
ASP.NET MVC Web Development
ASP.NET Imran Rashid CTO at ManiWeber Technologies.
Web Technologies Computing Science Thompson Rivers University
Web Application Architectures
Web Client Side Technologies Raneem Qaddoura
Bootstrap Direct quote from source: bootstrap/
SharePoint 2007 Developer Overview Collaboration BI Features
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Running C# in the browser
Presentation transcript:

Modern web applications Internet Engineering Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Outline Modern Web Apps Web components Spec

Modern Web Apps We still talk about programming as if typing in the code was the hard part. It's not - the hard part is maintaining the code. To write maintainable code, we need to keep things simple.

Modern Web Apps Architecture What (conceptual) parts does our app consist of? How do the different parts communicate with each other? How do they depend on each other?

Modern Web Apps Asset packaging How is our app structured into files and files into logical modules? How are these modules built and loaded into the browser? How can the modules be loaded for unit testing?

Modern Web Apps Run-time state When loaded into the browser, what parts of the app are in memory? How do we perform transitions between states and gain visibility into the current state for troubleshooting?

Modern Web Apps A modern web application architecture

Modern Web Apps A modern web application architecture write-only DOM No state / data is read from the DOM. The application outputs HTML and operations on elements, but nothing is ever read from the DOM. Storing state in the DOM gets hard to manage very quickly This is much better to have one place where the data lives and to render the UI from the data, particularly when the same data has to be shown in multiple places in the UI.

Modern Web Apps A modern web application architecture Models as the single source of truth Instead of storing data in the DOM or in random objects, there is a set of in-memory models which represent all of the state/data in the application.

Modern Web Apps A modern web application architecture Views observe model changes. Instead of manually tracking things, there is a change event system through which views receive change notifications from models and handle redrawing themselves.

Single-page applications Allow us to offer a more-native-app-like experience to the user.  Rich interactions with multiple components on a page. Server-side rendering is hard to implement for all the intermediate states.

Minimizing DOM dependent-code Any code that depends on the DOM needs to be tested for cross-browser compatibility Incompatibilities are in the DOM implementations, not in the JavaScript implementations So it makes sense to minimize and isolate DOM -dependent code.

Outline Modern Web Apps Web components Spec

Web Components Spec Shadow DOM Custom Elements HTML Templates HTML Imports

Shadow DOM W3 standard spec Ability of the browser to include a subtree of DOM elements Encapsulates the implementation. Scoped styles to the web platform Bundle CSS with markup Self-contained components in vanilla JavaScript.

Shadow DOM (Example) https://codepen.io/pi0/pen/WXdKYj

Custom Elements Custom elements give us a new tool for defining new HTML tags in the browser Brings a web standards-based way to create reusable components using nothing more than vanilla JS/HTML/CSS The API is the foundation of web components

Custom Elements (Example) https://codepen.io/pi0/pen/VryBdJ

Custom Elements (Example)

Custom Elements Cross-browser (web standard) for creating and extending reusable components. Requires no library or framework to get started. Vanilla JS/HTML FTW! Provides a familiar programming model. It's just DOM/CSS/HTML. Works well with other new web platform features (Shadow DOM, <template>, CSS custom properties, etc.) Tightly integrated with the browser's DevTools. Leverage existing accessibility features.

References http://singlepageappbook.com (2013 - Mikito Takada) https://developers.google.com/web/fundamentals/we b-components/customelements https://developers.google.com/web/fundamentals/we b-components/shadowdom