Evolution of the "Web
|
|
- Harry May
- 6 years ago
- Views:
Transcription
1 Evolution of the "Web
2 @Hoarse_JS
3 THIS USED TO BE SIMPLE!
4 1. WRITE SOME HTML 2. LAY IT OUT WITH FRAMES OR TABLES 3. FTP IT TO A SERVER! 4. BAM!
5 CONGRATULATIONS, YOU RE A WEB DEVELOPER!
6 THEN IT GOT HARDER
7 WHO S WRITTEN THEIR OWN BLOG SOFTWARE?
8 OVER ENGINEERING A BLOG WAS A RITE OF PASSAGE
9 1. WRITE SOME PHP/PYTHON/ASP/COLDFUSION 2. SET UP RELATIONAL DATABASE 3. WRITE SOME BAD SQL 4. SHOVE DYNAMIC DATA INTO OUR HTML 5. LAY IT OUT WITH CSS (NO TABLES THIS TIME) 6. RUN IT ON SHARED HOSTING SOMEWHERE
10 CONGRATULATIONS, YOU RE A WEB DEVELOPER!
11 PHEW!!
12 THEN WE GOT "SMART"
13 USE A FRAMEWORK!!
14 1. RAILS 2. ALL THEM PHP FRAMEWORKS 3. DJANGO 4. ETC.
15 OUR EXCESSIVLELY DYNAMIC BLOG IS NOW BETTER ORGANIZED AND HAS MORE DEPENDENCIES
16 CONGRATULATIONS, YOU RE A WEB DEVELOPER!
17 WHAT ABOUT TODAY?
18 BACK-END FRONT-END ISOMORPHIC RESPONSIVE ES6(2015) BABEL TRACEUR AMD COMMONJS MVC MVVM FLUX RELAY GULP GRUNT API-GATEWAY CORS JSON-WEB-TOKENS NODE.JS HTTP 2.0 OFFLINE-FIRST MOBILE-FIRST WEBGL WEBRTC WEBSOCKET GRAPHQL AMPERSAND EMBER REALTIME REDIS RIAK LEVELDB RABBITMQ PUSH-NOTIFICATION ENABLED BACKBONE APP WITH POLYFILLED POLYMER WEB COMPONENTS
19 CONGRATULATIONS YOU MIGHT BE A "WEB DEVELOPER"
20 WHAT DOES "WEB DEVELOPER" EVEN MEAN?
21 WHAT DOES "WEB APP" EVEN MEAN?
22 THE BROWSER ISN T OUR RENDERER
23 THE BROWSER IS OUR RUNTIME
24 THE WEBVIEW IS OUR RUNTIME
25 MORE LOGIC MOVING TO FRONT-END JS
26 DEVS WITH DIFFERENT BACKGROUNDS CONVERGING ON JS
27 BRINGING THEIR PATTERNS AND PREFERENCES
28 BACK-END FRONT-END ISOMORPHIC RESPONSIVE ES6(2015) BABEL TRACEUR AMD COMMONJS MVC MVVM FLUX RELAY GULP GRUNT API-GATEWAY CORS JSON-WEB-TOKENS NODE.JS HTTP 2.0 OFFLINE-FIRST MOBILE-FIRST WEBGL WEBRTC WEBSOCKET GRAPHQL AMPERSAND EMBER REALTIME REDIS RIAK LEVELDB RABBITMQ PUSH-NOTIFICATION ENABLED BACKBONE APP WITH POLYFILLED POLYMER WEB COMPONENTS
29 SINGLE PAGE APPS
30 HUH?
31 SINGLE PAGE APPS
32 "NATIVE"
33 I M A WEB DEVELOPER
34 NATIVE WEB APP
35 1. JAVASCRIPT 2. HTML 3. CSS 4. BROWSER APIS
36 FUNDAMENTAL DISTINCTION
37 THE BROWSER IS YOUR RUNTIME
38 SEND THE APP ITSELF TO THE BROWSER INSTEAD OF THE RESULT OF RUNNING IT
39 <!doctype> <script src="app js"></script>
40 SHOULD WE EVEN BE DOING THIS?
41 SHOULD WE BUILD APPS THAT REQUIRE JAVASCRIPT?
42
43 SHOULD WE BUILD APPS THAT REQUIRE JAVASCRIPT?
44 {{ RAISE YOUR HAND }}
45 YES!
46 WHAT SERVICE ARE WE PROVIDING?
47 CONTENT?
48 CONTENT SHOULD JUST WORK
49 NO REASON TO COMPLICATE THINGS THAT CAN BE SIMPLE
50 BUT THE WEB IS NO LONGER JUST ABOUT LINKED CONTENT!
51 THERE ARE CASES WHERE CLIENTSIDE FUNCTIONALITY IS THE CORE VALUE PROVIDED BY SERVICE
52
53
54
55
56 HIGH PERFORMANCE 1. RENDERING 2. NETWORKING 3. FILE READ/WRITE 4. STORAGE 5. WEB AUDIO APIS 6. WEBGL 7. VOICE/VIDEO
57 BROWSERS ARE NOT DUMB DOCUMENT VIEWERS
58 MOST CAPABLE UBIQUITOUS RUNTIMES ON THE PLANET
59 I M JUST GOING TO SAY IT:
60 THERE ARE TWO TYPES OF APPLICATIONS ON THE WEB
61 1. NATIVE WEB APPS
62 2. SERVER-SIDE WEB APPS
63 THEY ARE FUNDAMENTALLY DIFFERENT
64 AND THAT S O.K.
65 ANYTHING WE CAN BUILD WITH WEB TECH I THINK WE SHOULD
66 EVEN IF WE CAN T SUPPORT OLDER BROWSERS
67 THE WEB IS INFINITELY MORE OPEN THAN NATIVE PLATFORMS
68 USER EXPECTATIONS HAVE EVOLVED
69 THE WEB IS DOING PRETTY WELL ON DESKTOPS
70 THE WEB IS LOSING ON MOBILE
71 THE WEB IS LOSING ON EXPERIENCE
72 WE OFTEN PREFER NATIVE APPS TO THE WEB
73 QUALITY AND POLISH OF USER EXPERIENCE IS OFTEN MUCH BETTER
74 LET S FIX THIS!
75 WE RE TOO FOCUSED ON THE PAST INSTEAD OF COMPETING ON EXPERIENCE
76 SAYING THERE S A DISTINCTION MAKES SOME PEOPLE MAD
77 "Everything should be an enhancement!"
78 WE RE ON THE SAME TEAM!
79 WE WANT THE OPEN WEB TO WIN!
80 HOW COULD WE EVEN BUILD A PROGRESSIVELY ENHANCED VERSION OF TALKY?
81 SHOULD WE NOT HAVE BUILT IT?
82 WHERE S THE DOWNSIDE?
83 LET S LOOK A BIT CLOSER AT TWITTER
84 WHAT IS TWITTER?
85 IS IT A WEB APP?
86 NO.
87 IT S A SERVICE
88 APP!= SERVICE
89 twitter.com tweet deck tweetbot TWITTER ad dashboard android app ios app
90 I DIDN T REALLY CARE HOW THEY BUILT THEIR WEBAPP
91 BECAUSE I DIDN T USE IT ANYWAY!
92 I WAS USING AN ios APP!
93 THEIR WEB APP HAD ALREADY FAILED ME!
94 LET S THINK ABOUT THIS
95 WHEN I FOLLOW A LINK TO A RANDOM TWEET ON MY PHONE
96 JUST LET ME READ IT!
97 I DON T MIND IF IT S plain text
98 DON T MAKE ME DOWNLOAD 2MB OF JS TO READ 140 CHARACTERS OF TEXT!
99 THIS IS THE PROBLEM THEY FIXED WITH NEW NEW TWITTER
100 BUT
101 CATCHING UP WITH ALL THINGS TWITTER IS A FUNDAMENTALLY DIFFERENT USE CASE
102 FAILING TO RECOGNIZE DISTINCTION MAKES US FLOUNDER
103 A SERVICE CAN PROVIDE BOTH!
104 TWITTER.COM & TWEETDECK.COM
105 THERE S STILL SOME GAPS BETWEEN WEB AND NATIVE
106 REAL OFFLINE SUPPORT
107 PLATFORMS THAT TREAT NATIVE WEB APPS AS FIRST CLASS CITIZENS
108 THOSE THINGS ARE CHANGING
109 1. SERVICE WORKER
110 1. SERVICE WORKER PROGRAMMABLE CACHE LAYER CAN INTERCEPTS ALL NETWORK REQUESTS
111 THIS IS HUGE!
112 2. INSTALLABLE WEB APPS
113 JSON-BASED WEB MANIFEST CHROME M39+ FIREFOX
114 1. SIGNAL INTENT 2. UNINSTALL 3. DEEPER DEVICE APIS
115 "What about performance?"
116 WHITE PAGE OF DEATH
117 TIME TO FIRST PAINT
118 A PRIMED CACHE LARGELY INVALIDATES THIS ARGUMENT
119 1. GIVE IT A UNIQUE NAME <!doctype> <script src="app js"></script> 2. CACHE IT FOREVER HTTP/ OK Cache-Control: max-age=really BIG NUMBER! Content-Encoding: gzip
120 MOST OF THESE TYPES OF APPS REQUIRE YOU TO BE LOGGED IN
121 PRE-FETCH APP ON PUBLIC PAGES OR LOGIN PAGE
122 NATIVE WEB APPS CAN STILL HAVE SMALL JS PAYLOADS!
123 ALL JS IN THE AMPERSAND.JS APP ON TODOMVC.COM COMBINED 28kb min + gzip
124 SMALLER THAN JQUERY 2.0
125 THE OTHER ASPECT OF PERFORMANCE
126 ONCE LOADED, PERFORMANCE IS WAY BETTER!
127 IF I M GOING TO LEAVE APP OPEN ON MY DESKTOP I CARE WAY LESS ABOUT LOAD TIME
128 "What about dual rendered a.k.a. isomorphic apps?"
129 JUST A CLIENTSIDE APP WITH AN OPTIMIZED INITIAL RENDER
130 GOING FULL-ISOMORPHIC RENDERING, WITH USER DATA AND ALL
131 OFTEN REQUIRES DRAMATICALLY MORE COMPLEX CODE
132 THERE ARE SOME CASES WHERE IT MAKES SENSE
133 WITH STATE OF TOOLING TODAY OFTEN NOT WORTH THE COMPLEXITY
134 HOWEVER
135 DOESN T HAVE TO BE ALL OR NOTHING
136 WE CAN PRE-RENDER EVERYTHING THAT S NOT USER-SPECIFIC DATA
137 WE CAN DO THIS AS A FULLY STATIC SITE
138 Route: Asset: site.com/pic.png -> pic.png site.com site.com/page site.com/asdf -> index.html -> page.html -> 404.html or 200.html
139 WOAH!
140 APPS USUALLY HAVE: 1. public/marketing pages 2. all the stuff behind the login
141 WRITE "PUBLIC" PAGES AND APP LAYOUT HTML AS ISOMORPHIC COMPONENTS
142 PRE-RENDER THEM TO STATIC PAGES AT BUILD TIME!
143 SLIP IN THE BUILT JS BEFORE: </body>
144 index.html: public home page 200.html: application layout
145 COULD POTENTIALLY EVEN DO THIS FOR DYNAMIC/PUBLIC DATA
146 THINK ABOUT WHAT WE GET
147 pixels on the screen immediately
148 TOTALLY CRAWLABLE (SEO)
149 JS TAKES OVER ROUTING WHEN LOADED
150 DEPLOYMENT AND OPS BECOME AS SIMPLE AS FTP
151 WRITE 1 VERSION OF YOUR APP GET 90% OF BENEFIT FROM ISOMORPHIC RENDERING
152 USERS WILL END UP WITH A PRIMED CACHE JUST BY VISITING YOUR MARKETING PAGES
153 READY FOR: PHONEGAP/CORDOVA DESKTOP APP
154 NOW WE HAVE AN APP WITH A SINGULAR CONCERN: PRESENTATION
155 I VE STARTING BUILDING ALL MY APPS AS STATIC NATIVE WEB APPS
156 TOTALLY <3 IT!
157 FOR SO LONG THE TREND HAS BEEN TOWARD COMPLEXITY
158
159 WHAT S THE NEXT STEP IN THE EVOLUTION OF THE "WEB APP"?
160 GOING BACK TO SIMPLE
161 GOING BACK TO THE STATIC WEB
162 STATIC NATIVE WEB APPS
163 POWERED BY SERVICES SOME WHICH WE BUILD MANY OF WHICH WE RENT
164 surge.sh hood.ie firebase.com auth0.com divshot.com
165 SIMPLE OPEN SOURCE EXAMPLE: HubTags.com
166 React Ampersand.js Webpack (hjs-webpack) GitHub API Surge.sh
167 andyet.com
168 HOW CAN WE BE SURE WE RE BUILDING WITH THE RIGHT TOOLS?!
169 WE CAN T!
170 WHAT DO WE KNOW?
171 THINGS WILL CHANGE
172 BUILD MODULAR SYSTEMS THAT STRIVE TO BE AS SIMPLE AS THEY CAN BE
173 OFFLOADING PRESENTATION STATIC NATIVE WEB APPS
174 BUILDING MICROSERVICES TO ENABLE THAT TYPE OF APP
175 OPTIMIZE FOR CHANGE. IT IS THE ONLY CONSTANT.
176 LET S KEEP PUSHING FOR SIMPLICITY
177 LET S BUILD FOR THE FUTURE OF THE WEB, NOT ITS PAST
178 andyet.com
Arjen de Blok. Senior Technical Consultant bij ICT Groep ( sinds 1995 Programmeren sinds 1990 Technologiën. Links
Arjen de Blok Senior Technical Consultant bij ICT Groep (www.ict.eu) sinds 1995 Programmeren sinds 1990 Technologiën Links Visual C++ met Microsoft Foundation Classes.NET WinForms & WPF Silverlight ASP.NET
More informationwelcome to BOILERCAMP HOW TO WEB DEV
welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js
More informationHTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager
HTML5 Evolution and Development Matt Spencer UI & Browser Marketing Manager 1 HTML5 Ratified. finally! After 7 years of development, the HTML5 specification was ratified on 28 th October 14 urce>
More informationJavaScript and MVC Frameworks FRONT-END ENGINEERING
FRONT-END ENGINEERING Introduction & History Introduction JavaScript is an incredible language to learn for anyone interested in getting into programming. It is the only programing language that can run
More informationTen interesting features of Google s Angular Project
Ten interesting features of Google s Angular Project - 1 Ten interesting features of Google s Angular Project Copyright Clipcode Ltd 2018 All rights reserved Ten interesting features of Google s Angular
More informationWeb Development for Dinosaurs An Introduction to Modern Web Development
Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge
More informationClient Side JavaScript and AJAX
Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is
More informationCisco Spark Widgets Technical drill down
DEVNET-1891 Cisco Spark Widgets Technical drill down Adam Weeks, Engineer @CiscoSparkDev Stève Sfartz, API Evangelist @CiscoDevNet Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker
More informationInvest in the future, build for the web!
Invest in the future: build for the web! Soledad Penadés @supersole 1 of 61 20/06/2014 12:56 Apps Engineer, Mozilla 2 of 61 20/06/2014 12:56 Some time before... Android 3 of 61 20/06/2014 12:56 You can
More informationReact(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann
React(.js) the Domino Way High-Performance Client for Domino Knut Herrmann CollabSphere 2018 Sponsors Knut Herrmann Senior Software Architect Leonso GmbH Notes Domino developer since version 2 Web application
More informationFinally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools
Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools Oracle JET Customers Across Oracle Include... Internet of Things Mobile Cloud Service Developer
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More informationAngularJS Fundamentals
AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM
More informationUnifer Documentation. Release V1.0. Matthew S
Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................
More informationSurrogate Dependencies (in
Surrogate Dependencies (in NodeJS) @DinisCruz London, 29th Sep 2016 Me Developer for 25 years AppSec for 13 years Day jobs: Leader OWASP O2 Platform project Application Security Training JBI Training,
More informationThe Road to the Native Mobile Web. Kenneth Rohde Christiansen
The Road to the Native Mobile Web Kenneth Rohde Christiansen Kenneth Rohde Christiansen Web Platform Architect at Intel Europe Blink core owner and former active WebKit reviewer Works on Chromium, Crosswalk
More informationModern Web Application Development. Sam Hogarth
Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser
More informationWebpack. What is Webpack? APPENDIX A. n n n
APPENDIX A n n n Webpack Although Webpack is used throughout the book, the primary focus of the book is on React, so Webpack didn t get a comprehensive treatment. In this Appendix, you will have the chance
More informationGraphQL. Concepts & Challenges. - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub
GraphQL Concepts & Challenges - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub Rails API WHY - You have your Rails app, why bother with an API? - You have clients.
More informationThe Future of the Realtime Web BETTER APIS WITH GRAPHQL. Josh
The Future of the Realtime Web BETTER APIS WITH GRAPHQL Josh Price @joshprice STEPPING STONES TO FP Language (Elixir) Strongly-Typed APIs (GraphQL) GRAPHQL WAS HERE? http://whiteafrican.com/2008/05/12/crossing-the-mapping-chasm/
More informationEmberJS A Fitting Face for a D8 Backend. Taylor Solomon
EmberJS A Fitting Face for a D8 Backend Taylor Solomon taylor.solomon @jtsolomon http://interactivestrategies.com 2 Years Ago 2 Years Ago URL Ember Data assumes a few things. - Your API format is JSON
More informationNovember 2017 WebRTC for Live Media and Broadcast Second screen and CDN traffic optimization. Author: Jesús Oliva Founder & Media Lead Architect
November 2017 WebRTC for Live Media and Broadcast Second screen and CDN traffic optimization Author: Jesús Oliva Founder & Media Lead Architect Introduction It is not a surprise if we say browsers are
More informationWebpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys
Webpack 2 The last bundler you would need in 2017 Vijay Dharap, Principal Architect, Infosys Speaker Bio 14+ Years of experience Principal Architect in Infosys Passionate about delightful UX Open Source
More informationChoosing the web s future. Peter-Paul Koch Van Lanschot, 9 February 2017
Choosing the web s future Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Van Lanschot, 9 February 2017 Four problems 1. Web developers want to emulate native apps, which I think is not possible
More informationPick A Winner! In What Tool Should I Develop My Next App?
Pick A Winner! In What Tool Should I Develop My Next App? Mia Urman, CEO, AuraPlayer Inc. @miaurman @auraplayer Who is Mia Urman? miaurman@auraplayer.com Oracle ACE Director & Development Geek for over
More informationThe goal of this book is to teach you how to use Adobe Integrated
Clearing the AIR The goal of this book is to teach you how to use Adobe Integrated Runtime (AIR) to create desktop applications. You can use JavaScript or ActionScript to develop AIR applications, and
More informationAnatomy of a SPA: Client-side MVC
11/12/11 10:35 AM Anatomy of a SPA: Client-side MVC SPA: Single Page Application MVC: Model-View-Controller file:///users/baguirre/downloads/rubyconf-slides/index.html#1 11/12/11 10:36 AM My name is Alvaro
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
More informationFront End Programming
Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page
More informationFIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE
FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE Table of Contents Introduction... 2 Architecture Overview... 2 Supported Browser Versions and Technologies... 3 Firewalls and Login Sessions...
More informationMAKING WAVES TECHNOLOGY RADAR 2018
MAKING WAVES TECHNOLOGY RADAR 2018 MAKING WAVES TECHNOLOGY RADAR 2018 USE Episerver CMS Umbraco Contentful Episerver Find Elasticsearch (ELK) InRiver PIM Episerver Commerce Virto Commerce SQL Server Office
More informationChapter 1 - Development Setup of Angular
Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular
More informationWe are assuming you have node installed!
Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it
More informationWeb Application Architectures
Web Application Architectures Internet Engineering Spring 2018 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline MVC Design Pattern Multilayer Design Microservices Architecture
More informationHow to get a perfect 100 in Google PageSpeed Insights
How to get a perfect 100 in Google PageSpeed Insights And what might happen if you don't Follow Along http://goo.gl/fqfwyj @mcarper @NickWilde1990 Your site just went live after being under construction
More informationData Management CS 4720 Mobile Application Development
Data Management Mobile Application Development Desktop Applications What are some common applications you use day-to-day? Browser (Chrome, Firefox, Safari, etc.) Music Player (Spotify, itunes, etc.) Office
More informationModule 6 Node.js and Socket.IO
Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides
More informationTools. SWE 432, Fall Design and Implementation of Software for the Web
Tools SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Before we can really make anything, there s a bunch of technical stuff to get out of the way Tools make our lives so much
More informationJavaScript Fundamentals_
JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and
More informationEPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University
EPHP a tool for learning the basics of PHP development Nick Whitelegg School of Media Arts and Technology Southampton Solent University My background Lecturer at Southampton Solent University since 2003
More informationAdvertising specifications. Version 1.1
Advertising specifications Version 1.1 Please read this document before producing creatives for campaigns on The Economist - Digital Editions This is a living document that will evolve as we are presented
More informationThink like an Elm developer
Think like an Elm developer Piper Niehaus Denver, CO, USA Backpacker / skier Nonprofit board chair Software Engineer at Pivotal Pivotal Tracker team Elm in Production since 2016 Internal Products and Services
More informationDelivering Large Scale WebRTC. Richard Tworek Principal WebRTC Strategies Twitter: rmtworek. WebRTC STRATEGIES 11/25/2013
11/25/2013 1 Delivering Large Scale WebRTC Richard Tworek Principal WebRTC Strategies rtworek@webrtcstrategies.com Twitter: rmtworek 11/25/2013 WebRTC STRATEGIES 2 Panelists Michal Raz Vice President,
More informationSecurity. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Security SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Authorization oauth 2 Security Why is it important? Users data is
More informationCS193X: Web Programming Fundamentals
CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria
More informationFuture Web App Technologies
Future Web App Technologies Mendel Rosenblum MEAN software stack Stack works but not the final say in web app technologies Angular.js Browser-side JavaScript framework HTML Templates with two-way binding
More informationHi! My name is Peter Rushforth. I work for Natural Resources Canada, in the Canada Centre for Mapping and Earth Observation.
Hi! My name is Peter Rushforth. I work for Natural Resources Canada, in the Canada Centre for Mapping and Earth Observation. We are the group historically responsible for, among other things, creating
More informationBuilding Backbone Plugins
Building Backbone Plugins Eliminate The Boilerplate In Backbone.js Apps Derick Bailey and Jerome Gravel-Niquet 2013-2014 Muted Solutions, LLC. All Rights Reserved. Backbone.js and the Backbone.js logo
More informationOur Ba'le Against Technical Debt GeekCamp 2017
Our Ba'le Against Technical Debt GeekCamp 2017 Ifnu, July, 15th 2017 Who am I? Ifnu Bima Computer Science IPB & MBA School of Bussiness Management ITB Join Blibli.com in 2012 Java & JavaScript Developer
More informationIntegrating Mobile Applications - Contrasting the Browser with Native OS Apps. Cary FitzGerald
Integrating Mobile Applications - Contrasting the Browser with Native OS Apps Cary FitzGerald caryfitz@employees.org Workshop Leaders Peter Dunkley Acision Adam van den Hoven Frozen Mountain Integrating
More informationP a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages
P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual
More informationNodes Tech Slides - Progressive Web Apps, 2018
Nodes Tech Slides - Progressive Web Apps, 2018 Our belief Gone are the days where companies spend fortunes on building digital products that users don t want. Or at least they should be. And by now many
More informationAWS Lambda + nodejs Hands-On Training
AWS Lambda + nodejs Hands-On Training (4 Days) Course Description & High Level Contents AWS Lambda is changing the way that we build systems in the cloud. This new compute service in the cloud runs your
More informationRKN 2015 Application Layer Short Summary
RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,
More information<layer> or the ingrained habits of web development. Peter-Paul Koch HTML Special, 16 June 2016
or the ingrained habits of web development Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk HTML Special, 16 June 2016 Who here remembers the tag? Essentially what we
More informationRequireJS Javascript Modules for the Browser. By Ben Keith Quoin, Inc.
RequireJS Javascript Modules for the Browser By Ben Keith Quoin, Inc. Traditional Browser JS One global namespace Often inline JS code embedded directly in HTML Many tags with hidden ordering
More informationTechnology Expertise STUDIO GRAPHENE
Technology Expertise STUDIO GRAPHENE ios Development ios development The 01. Devices iphone, ipad, Apple Watch Video and audio Live streaming Video playback and capture OS versions ios 8, ios 9, ios 10,
More information"Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary
Course Summary Description This five-day instructor-led course is intended for developers who want to be able to create client-side applications with SharePoint Framework. In this course, students will
More informationHow To Present Progressive Web Apps To Your Clients
How To Present Progressive Web Apps To Your Clients AND HELP THEM WIN THE MOBILE WEB TABLE OF CONTENTS 01 And Then There Were Three PAGE 03 05 The Major Benefits of PWAs PAGE 07 02 Introducing PWAs PAGE
More informationTreating Framework Fatigue With JavaScript
Treating Framework Fatigue With JavaScript Tim Doherty Software Architect /in/timdoherty timdoherty.net ??? Hey, this one looks cool! You May Suffer From Framework Fatigue Symptoms Confusion One-way reactive
More informationIntroduction to Sencha Ext JS
Introduction to Sencha Ext JS Olga Petrova olga@sencha.com Sales Engineer EMEA Agenda Use Case How It Works Advantages Demo Use case Ext JS a Javascript framework for building enterprise data-intensive
More informationMobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue
Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native
More informationReview of Mobile Web Application Frameworks
Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,
More informationHTML5 in Action ROB CROWTHER JOE LENNON ASH BLUE GREG WANISH MANNING SHELTER ISLAND
HTML5 in Action ROB CROWTHER JOE LENNON ASH BLUE GREG WANISH MANNING SHELTER ISLAND brief contents PART 1 INTRODUCTION...1 1 HTML5: from documents to applications 3 PART 2 BROWSER-BASED APPS...35 2 Form
More informationDeveloping ASP.NET MVC Web Applications (486)
Developing ASP.NET MVC Web Applications (486) Design the application architecture Plan the application layers Plan data access; plan for separation of concerns, appropriate use of models, views, controllers,
More informationCompatibility via Modernizr
Compatibility via Modernizr Making web things fit their medium Stu Cox by / @stucoxmedia #McrFRED 27th June 2013 Manchester, UK com pat i bil i ty kәmˌpatɪˈbɪlɪti (abbr.: compat.) noun (pl. -i ties) a
More informationSecurity and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web
Security and Privacy SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Privacy For further reading: https://www.owasp.org/index.php/
More informationQiufeng Zhu Advanced User Interface Spring 2017
Qiufeng Zhu Advanced User Interface Spring 2017 Brief history of the Web Topics: HTML 5 JavaScript Libraries and frameworks 3D Web Application: WebGL Brief History Phase 1 Pages, formstructured documents
More informationIndex. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI /
Index A Accessible Rich Internet Applications (ARIA), 101 Amazon AWS, 44 Amazon EC2, 28 Amazon s Relational Database Service (RDS), 28 Amazon Web Services (AWS) cloud, 28 Android SDK Manager, 272 Android
More informationSweet Themes Are Made of This: The Magento PWA Studio
Sweet Themes Are Made of This: The Magento PWA Studio James Zetlen Frontend Architect Magento Commerce @JamesZetlen A suite of tools, standards, and top-quality ingredients for building and sharing Progressive
More informationFull Stack boot camp
Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building
More information20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.
20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This
More informationCSC 443: Web Programming
1 CSC 443: Web Programming Haidar Harmanani Department of Computer Science and Mathematics Lebanese American University Byblos, 1401 2010 Lebanon Today 2 Course information Course Objectives A Tiny assignment
More informationIntroduction to HTML5
Introduction to HTML5 Michael(tm) Smith mike@w3.org http://people.w3.org/mike sideshowbarker on Twitter, etc. I work for the W3C in Japan, based at Keio University near Tokyo My official W3C title is:
More informationCOURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3
COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012
More informationMakbul Khan. Nikhil Sukul
Makbul Khan Acquia Certified Developer Senior Software Engineer makbul_khan8 makbul_khan08 Nikhil Sukul Senior Drupal Architect nikhilsukul nikhilsukul Topics 1. What is Isomorphic JavaScript 2. Why Isomorphic
More informationCS637 Midterm Review
CS637 Midterm Review Coverage: Duckett Chapter 1-2: Basics: Can skip pp. 53-56 Chapter 3: Lists: all important Chapter 4:Links: all important Chapter 5:Images: can skip old code Chapter 6: Tables: all
More informationDistributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems
Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success
More informationJquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error
Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax
More informationDeveloper Internship Opportunity at I-CC
Developer Internship Opportunity at I-CC Who We Are: Technology company building next generation publishing and e-commerce solutions Aiming to become a leading European Internet technology company by 2015
More informationIs your JavaScript ready for the Enterprise? What does that even mean?
Is your JavaScript ready for the Enterprise? What does that even mean? John JB Brock Senior Principal Product Manager Oracle Tools and Frameworks June 29, 2017 Safe Harbor Statement The following is intended
More informationDjango Dynamic Fields Documentation
Django Dynamic Fields Documentation Release 0.1.0 James Pic Mar 24, 2017 Contents 1 Toc 1 1.1 Design documentation for django-dynamic-field............................ 1 2 Readme 3 3 Example 5 4 Dual-license
More informationa Very Short Introduction to AngularJS
a Very Short Introduction to AngularJS Lecture 11 CGS 3066 Fall 2016 November 8, 2016 Frameworks Advanced JavaScript programming (especially the complex handling of browser differences), can often be very
More informationMongoDB Web Architecture
MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas
More informationBuilding a Django Twilio Programmable Chat Application
Building a Django Twilio Programmable Chat Application twilio.com/blog/08/0/python-django-twilio-programmable-chat-application.html March 7, 08 As a developer, I ve always wanted to include chat capabilities
More informationState of jquery Fall John Resig
State of jquery Fall 2010 John Resig State of the Project New Releases jquery 1.4.3 / jquery 1.4.4 Official Plugins: jquery Templating jquery Data Linking jquery Mobile jquery 1.4.3 JSLint Modularity
More informationHow to approach the web platforms. Peter-Paul Koch Nordic Competence Conference, 12 September 2015
How to approach the web platforms Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Nordic Competence Conference, 12 September 2015 1The problem Web platforms I feel back-end developers underestimate
More informationSecurity Best Practices. For DNN Websites
Security Best Practices For DNN Websites Mitchel Sellers Who am I? Microsoft MVP, ASPInsider, DNN MVP Microsoft Certified Professional CEO IowaComputerGurus, Inc. Contact Information msellers@iowacomputergurus.com
More informationSTANISLAV NEKRASOV SENIOR FRONT END DEVELOPER
STANISLAV NEKRASOV SENIOR FRONT END DEVELOPER Melbourne, Australia stas@nekrasov.id.au SKILLS HTML/CSS Deep understanding of HTML and CSS specification Modern layout techniques (Flexbox, CSS Grids) Mobile-first
More informationCase study on PhoneGap / Apache Cordova
Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform
More informationtoday what is this course about? what is this course about? Welcome to CSC309! Programming on the Web APRIL 05
Welcome to CSC309! Programming on the Web Amir H. Chinaei, Spring 2017 ahchinaei@cs.toronto.edu http://www.cs.toronto.edu/~ahchinaei/ Office hours: M 3:45-5:45 BA4222 today course outline (bird s-eye view)
More informationModern and Responsive Mobile-enabled Web Applications
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive
More informationReal Web Development. yeah, for real.
Real Web Development yeah, for real. 1 who am i? i m still cyle i m a systems developer and architect every day i m developin i like this kind of stuff 2 real? kind of ranty, sorry web development is more
More informationStanko Tadić
State of modern JavaScript development 04.02.2017. Stanko Tadić HELLO, MY NAME IS STANKO TADIĆ and I m a Principal Developer at Work & Co. I love development, music and cartoons. You might say I m a geek.
More informationMOdern Java(Script) Server Stack
MOdern Java(Script) Server Stack Pratik Patel Pratik Patel CTO Triplingo JAVA CHAMPION PRESIDENT ATLANTA JUG POLYGLOT apple mac vintage 5" screen TURTLE MY FIRST PROGRAM TURING MY FIRST REAL PROGRAM JAVASCRIPT
More informationSoftware Development & Education Center ANDROID. Application Development
Software Development & Education Center ANDROID Application Development Android Overview and History ANDROID CURRICULUM How it all got started Why Android is different (and important) Android Stack Overview
More informationSoftware. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading
Full Stack Web Development Intensive, Fall 2017 There are two main objectives to this course. The first is learning how to build websites / web applications and the assets that compose them. The second
More informationWeb Performance in
Web Performance in 2017 with @bighappyface Big thanks to DrupalCon Team Big thanks to you (it s almost a wrap) Please note This session assumes familiarity. I am speaking as if folks are already into this
More informationMicroservices with Node.js
Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/
More informationWakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework
Wakanda Architecture Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework Note: For a more general overview of Wakanda, please see What is Wakanda?) Wakanda
More information