What Are My Choices for Building a Modern Web UI?

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

Introduction to ASP.NET MVC
Developing HTML5 Application using MVVM pattern Pekka Ylenius.
Real World Development using OpenEdge/ Rollbase Mobile – the basics Brian C. Preece Ypsilon Software Ltd
USING ANGULARJS WITH SITEFINITY
Development of mobile applications using PhoneGap and HTML 5
User Group 2015 Version 5 Features & Infrastructure Enhancements.
UNIT-V The MVC architecture and Struts Framework.
Ruby on Rails. What is Ruby on Rails? Ruby on Rails is an open source full-stack web framework. It is an alternative to PHP/MySQL. It can render templates,
Accessibility for Rich Internet Applications: Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre Techniques & Toolkits.
Ori Calvo, 2010 “If people want to have maximum reach across *all* devices then HTML will provide the broadest reach” Scott Guthrie,
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction Marko Marić, Danulabs
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Philly.NET Hands-on Labs JAVASCRIPT SERIES. July 9: JavaScript Syntax Visual Studio ◦Projects ◦Editors ◦Debugging ◦Script blocks ◦Minification and bundling.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Introduction to ArcGIS API for JavaScript
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
Bob German Principal Architect A New on SharePoint Development Building Light-Weight Web Parts with AngularJS
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
By: Toms Linnes Mrunal Patel.  Universal  With qooxdoo you build rich, interactive applications, native-like apps for mobile devices light weight single.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Web Going Foward.
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.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie.
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Microsoft Virtual Academy Stacey Mulcahy | Technical Evangelist Christopher Harrison | Content Developer.
Esri UC 2014 | Technical Workshop | Operations Dashboard for ArcGIS: Extending the Functionality Jay Chen Kylie Donia Tif Pun.
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Introduction to Angular James Kahng. Terms Framework Template/environment constructed in the language where you fill in details with code Library Set.
Extending the Operations Dashboard
Canopy walk through Single-Page Apps (SPAs) Benjamin Howarth Freelancer, Code Gecko Umbraco UK Festival, Fri 30 th Oct 2015 CODE GECKO.
OpenEdge – a view from Europe 2015 Gary Clink Senior Sales Engineering Manager, EMEA.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Presentation Title Subtitle DSpace UI Prototype 7 Spring, Angular.js, and the DSpace REST API.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Professional Services NAME Roland de Pijper Principal Consultant Openedge TITLE TECHNICAL EXPERTISE.
NativeScript – Open source platform to build Native iOS/Android Apps.
Getting Started with Angular 2 and TypeScript Nebraska.Code() 2016 Spencer Schneidenbach Ryvit.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
The New Face of ASP.NET ASP.NET MVC, Razor, and jQuery Ido Flatow | Senior Architect | Sela | This session is.
Bob German Principal Architect Developing SharePoint Applications with MVC and Entity Framework.
ANGULAR JS 2.0 Revolutionizes UI/UX Development. A CONTEMPORARY FRAMEWORK  Open Source Web Application Framework  Renowned, Established & Stable Frontend.
Best Web Technologies for
AngularJS. What is AngularJS  Javascript Framework  MVC  for Rich Web Application Development  by Google.
AngularJS and SharePoint
The Holmes Platform and Applications
The Share Widget Library
Kendo UI Builder Bob Brennan
Business Process Applications: The Future of Business Applications
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:
Angularjs Interview Questions and Answers By Hope Tutors.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Introduction to AngularJS
Modern web applications
Rich single page applications with SharePoint
JavaServer Faces: The Fundamentals
Modern web applications
How AngularJS Development Services different from other Framework - Kunsh Technologies.
Web Client Side Technologies Raneem Qaddoura
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Running C# in the browser
Modern Front-end Development with Angular JS 2.0
Presentation transcript:

What Are My Choices for Building a Modern Web UI? Sunil Belgaonkar Director of OpenEdge Solutions Strategy Progress

Business Applications of Today and Tomorrow Mobile Apps Web Apps Satellite Apps Desktop Apps Websites Various Personas Application API OpenEdge Platform Data Management

UI Development Paradigm – Lots of Choices Hand Crafted UI Generated UI UI Development Paradigm Your Choice Your Choice Your Choice OpenEdge customers want to apply a 80-20 rule for generated UI vs. handcrafted UI

The ascent of user experience as a business strategy UX Trends for 2015 The ascent of user experience as a business strategy House of cards More targeted and tailored experiences for different device types Embracing the material design Source: UX Magazine http://uxmag.com/articles/the-top-ux-predictions-for-2015

Browser Based UI – Industry Update

UI Industry Terminology Model-View-Controller (MVC) Model-View-View Model (MVVM) UI Templates – Views Directives Directives are JavaScript functions that manipulate and add behaviors to HTML DOM elements Dependency Injection Dependency Injection (DI) is a software design pattern that deals with how components get hold of their dependencies Routing Routing is the way the framework handles the mapping of the URL path Model User Interaction Manipulates Passes calls to Fires events Model-View-Controller Controller View View View Model User Interaction Bi-direction data binding Fires events Manipulates Model-View-View Model Model

Source: https://igorminar. github. io/ng-slides/angular-intro/index

Source: https://igorminar. github. io/ng-slides/angular-intro/index

Source: https://igorminar. github. io/ng-slides/angular-intro/index

Source: https://igorminar. github. io/ng-slides/angular-intro/index

AngularJS Dependency Injection – Example Source: https://docs.angularjs.org/guide/di

Browser Based UI – Current Frameworks Source: http://www.developereconomics.com/comparison-4-popular-javascript-mv-frameworks-part-2/

Wait…Where is Kendo UI?

Browser Based UI – Google Trends

Browser Based UI – Community Source: https://www.airpair.com/js/javascript-framework-comparison

Key Features of UI Frameworks Easy to learn Plays well with almost any library and 3rd party APIs Super light Modular design Most flexible Still have to do some leg work No data bindings (Needs a 3rd party plugin) “Memory management (manually destroy views/events, etc.) Source: http://www.mobileandemerging.technology/an-overview-of-js-mv-frameworks/

Key Features of UI Frameworks Allows precompiled templates Lots of granular configuration Good for “large” apps Very structured High learning curve Data binding can be verbose Dependencies/size can be heavy for mobile Not very flexible Source: http://www.mobileandemerging.technology/an-overview-of-js-mv-frameworks/

Key Features of UI Frameworks 1.x Dependency injection Easy two way data binding Modular design Good for: Small -> Medium -> Large apps Does not play well with 3rd party APIs jQuery or other DOM manipulation Dirty checking can be expensive DOM based template (everything loaded on start up) SEO can be a hassle since template is DOM based Source: http://www.mobileandemerging.technology/an-overview-of-js-mv-frameworks/

Key Features of UI Frameworks Easy to understand code React is only view layer

So Angular.js 1.x is the best… right?

Introducing ANGULAR 2.0…

ANGULARJS 2.0 is very different from 1.x

Evolving Web Standards Simplified cognitive model Angular 2.0 Goals Evolving Web Standards Shadow DOM and Ecma Script 6 modules Performance Simplified cognitive model Source: https://angular2-intro.firebaseapp.com/

Angular 2.0 Code Sample Typescript is Optional A typed superset of JavaScript that compiles to plain JavaScript Source: https://angular2-intro.firebaseapp.com/

Imperative Driven Data Driven Template Driven Angular 2.0 Forms Imperative Driven Built with Code Data Driven Automatic Template Driven Similar to 1.x Source: https://github.com/DeborahK/ab2015

When will ANGULAR 2.0 be ready? Cool… When will ANGULAR 2.0 be ready?

is still under development ANGULAR 2.0 is still under development

TOO MANY CHOICES! Isn’t there something that would let me mix-and-match and get the best?

How do YOU use Bootstrap?

How do YOU use Kendo UI?

1. GO TO THE DOCS

2. COPY ALL THE THINGS

3. RECEIVE WIDGET

We can do better…

2. COPY ALL THE THINGS

2. USE THE THING

Web Components Templates define chunks of markup that are inert but can be activated for use later Custom Elements let authors define their own elements, including new presentation and API, that can be used in HTML documents Shadow DOM defines how presentation and behavior of decorators and custom elements fit together in the DOM tree HTML Imports provide a way to include and reuse HTML documents in other HTML documents The component model for the Web (also known as Web Components) consists of four pieces designed to be used together to let web application authors define widgets with a level of visual richness not possible with CSS alone, and ease of composition and reuse not possible with script libraries today. Source: http://robdodson.me/why-web-components/

How Do I Create Web Components?

Why Do I Need Angular and Polymer? A library for creating Web Components, which are a set of W3C standards and upcoming browser APIs for defining your own custom HTML elements. Angular A complete framework for building webapps, whereas Polymer is a library for creating Web Components. Those components, however, can then be used to build a webapp.

It’s all about UX This is a fast evolving space Separate UI Model for UI View --- this is future proof

Web UI – What Is the Progress Strategy?

Disclaimer Future plans discussed in this section are for informational purposes only, and the reader is hereby cautioned that actual product development may vary significantly from what is discussed here Future plans discussed in this section may not be interpreted as any commitment on behalf of Progress, and future development, timing and release of any features or functionality described in this roadmap remains at our sole discretion

The Progress UI Strategy VIEW CONTROLLER MODEL Kendo UI Data Binding Write your own JS Data driven OE Community frameworks Industry frameworks for hand crafted UI JavaScript Data Object (JSDO) Kendo UI/Angular Binding

Beautiful pre-designed widgets. 80% productivity increase. User Experience Is Everything WebSpeed Beautiful pre-designed widgets. 80% productivity increase. A library of 70+ HTML5 UI for cross-platform apps. Grids Interactivity Scheduling Data Visualization Navigation Geo Visualization Lists Diagramming Fastest Performance Open and extensible

The Benefits of Using JSDO Simple JavaScript access to existing Business Logic via CRUD & invoke ops Built-in http client sessions to REST services Write once, deploy everywhere Open client & server components Transactional operations with optional before-imaging Optional local data caching Presentation Layer Client UI Controls Client MVC Logic JSDO (session) (data cache) Local Data Common Business Logic Layer REST Service Interface 1) The JSDO is the simplest way to access the OpenEdge backend from a JavaScript client.

2) The JSDO supports anonymous, BASIC and FORM based authentication and can perform CRUD operations and INVOKE operations.

3) The JSDO makes code independent of URIs. The URIs are in a catalog file and loaded by the Session.
From JavaScript, the JSDO only needs to refer to the name of the resource to know what operations are available.

4) The JSDO provides a programming model to work with data locally. No URIs are referenced. Developers just use the JSDO API.

5) The JSDO is Open. The JSDO will be released as Open Source in the near future. The JSDO has no dependencies but JavaScript [and the XMLHttpRequest object] and can be used with multiple JavaScript frameworks including Kendo UI. The JSDO is not just JavaScript and OpenEdge. (The model used  by the JSDO allows for multiple additional server implementations as well as client implementation. For example, a Swift Data Object for native iOS.) Data Layer

Modernization Preferred Technology Choices JSDO Development Environment REST Interfaces OpenEdge Mgmt Pacific Application Server for OpenEdge Webspeed OpenEdge BPM Corticon BRMS OpenEdge RDBMS OpenEdge Replication OpenEdge DataServers

Future Plans for Progress Higher Productivity of UI – View 1 2 3 TEMPLATES Built-in business patterns like parent-child relations, Filters, etc. COMPONENT BUILDER Ability to reuse components and build UI quickly UI BUILDER WYSIWYG designer Integrated with choice of web frameworks like Angular.js, etc.

AngularJS Complete Example

Summary Lots of choices! Progress has a great offerings and a good strategy …so stay tuned!