SlideShare a Scribd company logo
Warp-Beam-speed
at initial load
Speeding up your JavaScript application
DavidAmend
● JavaScript & Java Frontend
Developer &Architect
● @Dab-Bank: Angular.js, BPMN, OSGi
David.Amend@it-amend.de
That’s me
Client- Server-
VS
http://openmymind.net/2012/5/30/Client-Side-vs-Server-Side-Rendering/
Better User-Experience?
View-Rendering
Topics
1. History of Web-Rendering Techniques
2. The Application Workflow
3. Decision to the best architecture

Recommended for you

What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?

The document provides an overview of the MEAN stack, which is a full-stack JavaScript solution for building web applications. It consists of MongoDB (a NoSQL database), Express (a Node.js web application framework), AngularJS (a client-side framework), and Node.js (a JavaScript runtime). The document discusses each component, how they work together, advantages like using a single programming language throughout and ability to build fast applications, and disadvantages like MongoDB not being as robust as SQL databases. It concludes that MEAN provides a fast, easy way to create modern, responsive dynamic web sites.

mean stackmean stack training
AngularJS + React
AngularJS + ReactAngularJS + React
AngularJS + React

Your Angular app grew up and became too slow, so that you want to make it faster by implementing React framework. How to do it? Is it worth it? What's the easiest way? What are pros and cons? You can derive all of that from this presentation. (It may also be useful if you're just making a choice between these two frameworks.)

angular angularjs react reactjs ngreact
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer

In this presentation we'll take a look at building a full stack web application using Polymer and Web Components. After a quick introduction to Polymer, we’ll see how we can handle things like authentication, pagination of large data sets, and adapting our UI to different viewports. We’ll also review what’s needed for moving our app to production and optimizing our User Experience with quick load times and transition animations.

web componentsvaadinspring
Process of Rendering-Technologies
Static
HTML
CGI
Scripts
Web-specific
19951989 C,Shell,CGI-Scripts,
Phyton VB-Scripts, Perl ASP, PHP, Ruby,
ColdFusion
Process of Rendering-Technologies
Web-plugins
Web-Frameworks
Server-Driven
~20101998
Applet/Flash,
ActiveX, XAML
Ruby on Rails, .
Net, Wicket, GWT
Node.js based
“JS Everywhere”
Express, Derby, Meteor, OPA, ...
Process of Rendering-Technologies
Today Future
?
?...
● Before
Framework Comparison matters
→ Richness & stability of Frameworks
● Now
Technique & Architecture matters
→ Surpass limitations
● Future
Webtechnologies get more important, HTML-5, ECMA-Script 7
→ Optimized & Fast Development
“MVC”-Code
Architectures

Recommended for you

MEAN Stack
MEAN StackMEAN Stack
MEAN Stack

MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.

mean stack
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?

The number of web development frameworks and libraries based on JavaScript continue increasing. The most popular client-side technologies are Angular and React, but you might ask - What should I use?

frameworklibraryangular.js
React js Online Training
React js Online TrainingReact js Online Training
React js Online Training

http://www.learntek.org/product/react-js-training/ http://www.learntek.org Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses. We are dedicated to designing, developing and implementing training programs for students, corporate employees and business professional.

react jsjsreact js online training
Server or Client rendering ?
Client-Centric
Business-
Logic
Client Server
Render-
Engine
DB
Request
Response
Shared Definition
http://onehungrymind.com/angularjs-dynamic-templates/
Business-
Logic
Client Server
Render-
Engine
Shared-
Definition
DB
DefinesDefines
I18n, View-Templates
UI Session-State on Server
View-State
Definitions
Client Server
Browser
Clicked On Button
Return HTML & pass
JavaScript to be executed
Expensive
- Resources
Less Control over
User-Experience

Recommended for you

React Native
React NativeReact Native
React Native

How to write JavaScript native iOS (and later android) apps? React Native, basics, components and infrastructure.

react nativejavascriptios
Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)

Large websites with large customer bases should have fast page loads no matter where your customers are coming from. In this day and age speed is expected. Getting there requires engineers to both have data and the ability to analyze and find problems. This talk will address page load speed in two parts. A "cold" load where a user first comes to your site and a "warm" load which deals with intra-site page load speed. We will dive into the details of each page load and what is really going on. From network optimization to browser render performance, all things matter when it comes to optimizing the load of your web page. Furthermore, we will look into some tools that can be used to analyze and help developers discover and address problems.

highload++mysql
React native: building native iOS apps with javascript
React native: building native iOS apps with javascriptReact native: building native iOS apps with javascript
React native: building native iOS apps with javascript

React-Native is Facebook's React based native application framework. You can write iOS applications using native Views and Controls, while the whole application logic is written in Javascript (the good parts of it in fact). Soon Android version will be released but for now we can build iOS apps with it.

react nativeiosandroid
Flow of Page-Initialization
Load
HTML
Load
Assets
Framework
Init/Bootstrap
Phase
AJAX-calls
Template
Rendering
Replace
HTML
1. 2. 3. 4.
Worst Case Flow
Load
HTML
Load
Assets
Framework
Init/Bootstrap
Phase
AJAX-calls
Template
Rendering
Loading Screen
Replace
HTML
User sees page
in one shot
1. 2. 3. 4.
Worst Case Flow
Load
HTML
Load
Assets
Framework
Init/Bootstrap
Phase
AJAX-calls
Template
Rendering
Loading Screen
Replace
HTML
1. 2. 3. 4.Possible
Flicking
a)
b)
Hack the intialization process
● Minify
● Cache
● Load assets asynchronously
● Load content asynchronously
● Reducing Requests
Faster file loading

Recommended for you

React Vs AnagularJS
React Vs AnagularJSReact Vs AnagularJS
React Vs AnagularJS

This document provides an overview of ReactJS and Angular, comparing their key features. It discusses their different architectural approaches, with Angular following MVVM and React following Flux. It also covers important React concepts like JSX, components, props, state, the virtual DOM, and React's event system. The document aims to help understand the core differences between these two popular frontend frameworks.

javascriptreactjsangularjs
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop

The document outlines a React workshop covering what React is, its core concepts, and coding with React. It begins with an introduction and overview of React. It then covers key React concepts like components, the virtual DOM, JSX, state and props. Finally, it demonstrates how to start coding with React by rendering a component, using state, and working with forms. Resources for further learning are also provided at the end.

reactjsvirtualdom
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPT

This document provides an introduction to JavaScript by explaining what it is, how it differs from Java, how it works within web browsers to make pages interactive, and some common uses of JavaScript including form validation and manipulating HTML elements. It discusses how JavaScript code is embedded in HTML pages and executed on the client-side, and provides some simple examples of JavaScript statements and using JavaScript with HTML forms.

javascript
Async Loading, splitting files
HTML
Asset
Framework
Bootstrap
Deferred
Ajax &
RenderTemplate
Rendering
Async(e.g. module loader)
Apply Binding
JS
Templ
ate
HTML
Asset
Asset
Client-Only, Single file,
Load
HTML
Load
Assets
Framework
Bootstrap
Deferred
Ajax &
RenderTemplate
Rendering
Concat & precomile to single file
Apply Binding
Combination of ng-init & UIRouter
Grunt.js build:
● Precompile
https://github.com/ericclemmons/grunt-angular-templates
https://github.com/karma-runner/karma-ng-html2js-preprocessor
https://github.com/karlgoldstein/grunt-html2js
● Concat files
Reducing Requests
or
Load Asynchronously
Faster file loading

Recommended for you

001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React

This document provides an introduction to ReactJS, including: - ReactJS was developed by Facebook in 2013 and is currently at version 15.3.2; it is a view library rather than a framework - Reasons for choosing ReactJS include faster websites, reusable views, a large community, ease of writing tests, and integration with other frameworks - The document discusses Webpack, JSX, ES6 features, and Redux, which are important technologies to learn when using ReactJS

reactjsreact
React js Demo Explanation
React js Demo ExplanationReact js Demo Explanation
React js Demo Explanation

Rama Krishna is an online trainer based in Hyderabad, India with over 11 years of experience in frontend and backend development. He provides training in various technologies including ReactJS, Angular, NodeJS, and more. This document outlines his experience and skills, provides a detailed course outline for a ReactJS training, and shares positive testimonials from past students who praise his teaching abilities and patience.

reactjsreduxsaga
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UI

This document discusses React.js and how it changed the author's thinking about building user interfaces (UI). It describes how developing UI was previously slow, error-prone, and not fun using Handlebars templates, jQuery DOM manipulation, and redrawing on every change. React.js introduced a declarative and component-based approach that is faster, less error-prone, and more enjoyable. Components have properties (props) and state, re-render only when needed for performance, and can be reused and remain independent. This new approach to UI development freed the author to focus more on experimentation rather than fighting the framework.

Situation
Public Private
Slow-Js-Rendering
Non-Blocking
Lazy Template Rendering
<div ng-template=”pizzaTemplate”>
<h2 ng-model=”{{i18n.header}}></h2>
<ul>
<li ng-repeat=”pizza in pizzas”>
</ul>
</div>
● h2 and li render deferred
● Render when data are available, independent
● Render when data changed: Databinding
Less Requests & Non Blocking UI
<html>
<head>
<script>/* Inline Angular.js asset*/</script>
<script>/* Inline async asset loader*/</script>
$script([ 'js/app.js'], function() {
angular.bootstrap(document, ['myApp']); });
</head>
<body>
<div ng-view></div>
</body>
</html>
Client vs Server Templating: Speed up initial load for SPA with Angular as an example

Recommended for you

Angular 4
Angular 4Angular 4
Angular 4

Angular is a framework for building single-page applications. It uses TypeScript, which is a superset of JavaScript, and includes features like modules, components, directives, and services. Modules contain components and the root module is AppModule. Components have an HTML template and class with logic to control the template. Services provide reusable functionality like data access. Directives modify views by providing instructions within component templates. Setting up Angular involves installing Node.js, TypeScript, typings, Angular CLI, and creating a new project with ng new. The main.ts file acts as the entry point and bootstraps the app module. The tsconfig.json file provides TypeScript configuration and compiles TS to JS.

angulartypescriptjavascript
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together

This document discusses using AngularJs and React together. It provides an overview of AngularJs and React, explaining that AngularJs is a framework for dynamic web apps while React is a library for creating user interfaces. It describes how components in React can be built to work with AngularJs and encapsulate concerns. Performance is generally better with React, especially for long lists. Ng-React is introduced as an AngularJs module that makes it easy to use React components in AngularJs applications. Examples are provided of how to render React components using Ng-React, including data bindings.

boostjsreactangular
How NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscapeHow NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscape

This document discusses how to avoid getting lost in the current JavaScript landscape. It begins by looking at modern web development trends like HTML5, CSS3, ES6, and expectations of fast page loads. It then examines traditional page lifecycles versus single page applications and various JavaScript frameworks. The document advocates for progressive enhancement and outlines strategies like "Hijax" and using the HTML5 History API to improve traditional approaches. It also discusses issues like code duplication, the benefits of isomorphic JavaScript, and tools for frontend development including Grunt, Gulp, asset bundlers, and test runners. It concludes by providing recommendations on technologies to adopt, consider, or stop using to develop with a progressive enhancement approach.

nodejsgruntgulp
ng-cloak & ng-hide
● ng-cloak
Disables lazy-rendering for all children
nodes
● ng-hide
Replacing of initial HTML
with deferred template-rendered
● No Flicking
Display Initial HTML
→ Performance Boost
Load
HTML
Load
Assets
Framework
Bootstrap
Deferred
Ajax &
RenderTemplate
Rendering
Apply Binding
● Load assets after HTML is loaded
● Will not freeze UI
How to combine Initial HTML with
deferred template Rendering ?
● Share Model Information
● Share HTML within template
● SEO ( Disabled JS support)
Mixture of Client-Server Code
<h1>{{pizza.title}}</h1>
#{for pizza:pizzas}
<li ng-repeat={{pizza}}>
#{pizza.name}
<li>
#{for:end}
● Hard to understand
● No separation

Recommended for you

Dust.js
Dust.jsDust.js
Dust.js

The document discusses LinkedIn's adoption of the Dust templating language in 2011. Some key points: - LinkedIn needed a unified view layer as different teams were using different templating technologies like JSP, GSP, ERB. - They evaluated 26 templating options and selected Dust as it best met their criteria like performance, i18n support, and being logic-less. - Dust templates are compiled to JavaScript for client-side rendering and to Java for server-side rendering (SSR) through Google's V8 engine, allowing templates to work on both client and server. - SSR addresses challenges like SEO, supporting clients without JavaScript, and i18n by rendering

web developmenttemplatesjavascript
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend

We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner. This talk will be interesting for ones who have multiple teams working on the same frontend application.

javascriptfrontendmicroservices
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...

We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner. This talk will be interesting for ones who have multiple teams working on the same frontend application.

#jsfest#jsfestua#jsfest2019
Complete Separation
index.vm, Server side:
<h1>#{pizza.title}</h1>
...
index.html, Client Side:
<h1>{{pizza.title}}</h1>
…
● Separation
● Duplication
Share model Information:
Save in variable
http://mircozeiss.com/how-to-pass-javascript-variables-from-a-server-to-
var model = #{pizzas.toJson()}
● Works with all frameworks
● Simple
● Need to touch logic code
Share model Information:
Separate Service call
http://mircozeiss.com/how-to-pass-javascript-variables-from-a-server-to-
app.get(‘pizzas’), function(request, response){
$scope.pizzas = response;
}
● Clear separation of Data
● No server-side code in client-code
● Additional service call
● Blocking UI
Share model Information:
Separate Service call
http://mircozeiss.com/how-to-pass-javascript-variables-from-a-server-to-
<div ng-init=’#{pizzas.toJSObject()}’>
{{pizza.header}}
</div>
● No need to touch logic
● Executed before Angular.js Bootstrap
● Minimum Server-Templating needed
● Needs Angular assets to be loaded
● Angular.js specific

Recommended for you

Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration

A presentation about the build tool grunt js JavaScript for web applications and node.js environments to achieve continous integration. David Amend

node.jsyeomancontinous integration
Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3

HTML5 and CSS3 provide improvements to building the web. HTML5 introduces more semantic tags that improve accessibility and cleaner code. It also provides native support for video, audio, local storage and better interactions. CSS3 enhances presentation. HTML5 is supported across modern browsers and on mobile, allowing responsive design. New features like canvas and WebGL enable graphic effects. Geolocation allows accessing a user's location with permission. HTML5 aims to make the web platform more powerful and flexible.

html5cssweb design and development
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works

This document discusses PageSpeed, a tool for just-in-time performance optimization of web pages. It provides automatic image compression and resizing, CSS and JavaScript minification, inline small files, caching, and deferring JavaScript among other optimizations. While most performance issues are well understood, not all websites are fast due to the tradeoff between speed and ease of maintenance. PageSpeed tools like mod_pagespeed can automate optimizations to improve performance without extra work from developers.

Render Client-Template
before init-phase
Load
HTML
Load
Assets
Framework
Bootstrap
Deferred
Ajax &
RenderTemplate
Rendering
Apply Binding
Usage of ng-init
Share init HTML within template
Reuse of HTML
within template at Initial State
Situation
Template Engine not rendered, yet
<div>{{pizza.price}}</div>
Reuse of HTML
within template at Initial State
Situation
Template Engine not rendered, yet
<e:div>{{pizza.price}}</e:div>

Recommended for you

JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework

JavascriptMVC is another client side web MVC framework based on jQuery. It has totally solution to build a web application. This slide will introduce basic features of JavascriptMVC3.2

javascriptjavascriptmvc
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora

Slides of the talk about Angular, at the "Matinée Pour Comprendre" organized by Linagora the 22/03/17. Discover what's new in Angular, why is it more than just a framework (platform) and how to manage your data with RxJs and Redux.

typescriptlinagorarxjs
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js

Node.js is a server-side JavaScript environment that allows building scalable network applications. It uses Google Chrome's V8 JavaScript engine and runs on a single thread without blocking I/O operations. Node.js is optimized for non-blocking event-driven operations and has a large ecosystem of reusable modules. Some common uses of Node.js include real-time web applications, REST APIs, streaming data applications, and networking servers.

Reuse of HTML
within template at Initial State
Situation
Template Engine not rendered, yet
<div ng-model={{pizza.price}}></div>
● Reuse of html within
the template for initial state
Client or
Server-Side
Rendering
revised
Client-Only
Server
Client
Data-Service
JSON, XML
Client-Server-Hybrid
http://nerds.airbnb.com/slides-and-video-from-spike-brehms-tech-

Recommended for you

Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)

This document discusses various tools and techniques for optimizing web performance, including Lighthouse, PageSpeed Insights, the Rendering tab in DevTools, memoization, virtual scrolling, removing unused code, optimizing fonts and images, service workers, and media optimizations like lazy loading and CDNs. Useful links are provided for each topic to learn more about improving performance.

javascriptchromeperformance
Pre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlifyPre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlify

This document discusses using Nuxt.js and Netlify to pre-render media sites from a data source like Drupal for improved performance. Pre-rendering generates static HTML, CSS, and JavaScript files that are faster to load than dynamic sites. Nuxt.js is a progressive framework for Vue.js that supports server-side rendering and static site generation. Netlify provides hosting for static sites with automatic deployments from Git repositories. The combination provides a decoupled way to serve pre-rendered content without ongoing server costs. Personalization and dynamic updates are also discussed.

Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor

This document discusses using edge computing technologies like content delivery networks (CDNs) to overcome technical barriers to SEO implementation and perform edge SEO. CDNs allow SEO implementations to be done serverlessly at the edge without touching origin source code. Examples of edge SEO include dynamically generating meta titles and tags, redirecting, AB testing, collecting pseudo server logs, and dynamically rendering JavaScript to resolve issues. Edge SEO provides benefits like speed, security, and enables implementations that may otherwise be restricted by platforms. Potential issues include impacting all requests and introducing latency, but recent developments have reduced these concerns.

edge seoedge seo dan tayloroptimization 2020
Considerations
● Knownledge in team
○ Java or Web-Developers?
● Context of Webapplication
○ Webpage behind Login?
■ Prefetch & Initialize
○ Only used in company or
■ Performance & browser support
can be ignored
○ Public
● Save Money
○ Do not do overegineering
Client-Server-Hybrid:
Same Template Framework
Client WebServer
Template Files
Initial Request
HTML
● e.g. Mustache
Google Closure, Dual,...
● Share template files between Client & Server
Client-Server-Hybrid:
Render JS on Server
Client
Rendering
Engine
WebServer
Initial Request
HTML-String
Identical Client Code
RegisterBindings
● Independant of template engine
● No extra development effort
● Could be Dependant on Browser Node.js
Lessons learned
● Twitter
http://engineering.twitter.com/2012/05/improving-performance-on-twittercom.html
http://www.youtube.com/watch?v=sGpHDHAIpYE
● Yahoo
https://github.com/davglass/nodejs-yui3
● Angular.js 2.0: Announced
http://angularjs.org/
●
● Google, Closure Tools
● Google Apps Script

Recommended for you

Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web worker

A brief talk on web application performance and responsiveness. Why it is important and how web worker can help achieve it. It also covers a simple example implementing web workers.

html5web workerwebworker
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank

This document summarizes a presentation about DAB Bank's experience switching to Angular.js for web development. It discusses how Angular.js helped solve problems with AJAX, customization, and legacy code. It provides an overview of how DAB Bank used Angular.js to build a personal finance manager application. Additional slides cover topics like SEO, security, Angular 2.0, TypeScript, and modern tech stacks.

experiencespracticaljavascript
You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)

Have you ever wanted to work on a web browser? Servo is an experimental web engine written in Rust. Its small code base and friendly community mean that it is an ideal project for those looking to dip their toes into the world of web browser engineering. In this, Martin Robinson covers the basics of building and running Servo on your own computer. In addition, we'll take a tour of Servo's main subsystems and see what kind of work goes into building them. Additionally, we'll cover a variety of types of contributions to Servo, adapted to different kinds of experience and specialization. By the end you should have the tools you need to explore contributing yourself. (c) GOSIM Workshop 2023 Sept 23-24 Grand Hyatt, Pudong, Shanghai https://workshop2023.gosim.org/ https://www.bilibili.com/video/BV1Hw411r7Q6/

servowebweb engines hackfest
Hybrid:Executed page in JavaScript Environment
Are in experimental state:
● GWT
● Headless browsers: PhantomJS
● Services: BromBone
● Ruby solutions
● Rendr (Backbone & Handelbars)
http://de.slideshare.net/spikebrehm
● Google Scripts
● Meteor
● Mojito
http://de.slideshare.net/spikebrehm
http://sebgoo.blogspot.de/2013/05/angularjs-and-seo-pre-render-content-on.html
https://speakerdeck.com/seanami/bridging-the-client-side-server-side-divide
Any Questions ?
Client vs Server Templating: Speed up initial load for SPA with Angular as an example
Additonal Slides

Recommended for you

DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)

The document discusses the Zend Framework, an open-source PHP framework. It provides the following key points: 1. The Zend Framework provides a high-quality PHP framework for developing web applications and web services, following principles of extreme simplicity and best practices. 2. It is developed by the PHP community led by Zend and is open-source under a BSD license. 3. Major companies like IBM and Google use the Zend Framework for various projects.

 
by dpc
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersMaking sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers

The complexity of frontend web development has increased measurably. Gone are the days of jQuery. New frameworks like React and Vue and tools like Webpack are the new deal. In this talk, we will try to make sense of the current state of front-end development and how it changes how we write backend code. More specifically, we will see how Symfony and Laravel help us in that regard.

phpjavascriptwebpack
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web Vitals

The performance of your web application can define the success of your website, the core web vitals are key metrics that help you to keep track and improve the user experience. This talk we will see how to optimize and measure a React application performance using some basic techniques, like code splitting with webpack, SEO optimization and bottleneck resolutions with examples.

corewebvitals
Client vs Server Templating: Speed up initial load for SPA with Angular as an example
Adoption
Ways
● By Server-centric
● By Client-centric
● By complete Client-Server Separation
● By sharing same Client-Server Template API
→ How about i18n-texts ?
● By sharing logic between Client-Server
(Validation, DataTransferObjects...)
→ Angular.js as an example
Server or Client rendering ?
ClientServer
Different
Syntax forces
separation
JavaScript, XML:
Reuse of code:
Validation,
DataTransferObjects
Caching
Less Money
For Slow
Devices
Slow Network
Separation
...
Different
Syntax forces
separation
SEO
Initial Load
is x5 faster
Natural
Programming for
Applications:
Controller&View on
the Client machine
Full control
over Client
Rich User
Experience
Use of Data-
Services
(JSON, XML)
● Authentication-Information Request
● i18n Request

Recommended for you

Webdevelopment
WebdevelopmentWebdevelopment
Webdevelopment

This document provides an overview of web development using technologies like PHP, jQuery, AJAX, Comet and HTML5. It discusses client/server architecture and how web applications use a traditional three-tier model. It also outlines and describes key server-side technologies like PHP and client-side technologies like JavaScript, how they interact with documents using the DOM, and how jQuery can be used to simplify DOM manipulation and AJAX requests.

ajaxjavascriptdevelopment
Componentization css angular
Componentization css angularComponentization css angular
Componentization css angular

The document discusses CSS componentization strategies in Angular applications. It covers: - Angular's emulated view encapsulation and how it adds prefixes like _nghost and _ngcontent to isolate CSS - Using :host, :host-context and ::ng-deep to style components and apply themes - Different CSS architectures like OOCSS, BEM and SMACSS that can be used to structure CSS components - The benefits of separating CSS into standalone, reusable style components vs embedding styles directly in components - Best practices like defining styles using standalone CSS files and applying view encapsulation: None for performance

angular 2web componentsshadow dom
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1

TypeScript can be used to add types to JavaScript for better integration with IDEs and refactoring support. It allows defining interfaces to support modular projects and combining client and server models. Key things to know about TypeScript include interfaces, decorators, module support, and ES6 features. There are many benefits to using TypeScript like refactoring support, code exploration, and self-documentation.

projectsangular.jsangular
Client Only
“Server is Overkill”, Tim Oxley
http://www.youtube.com/watch?v=BgXjJ3aDwtc
“Goodbye Server, Welcome Client”, Sandro Sonntag
http://es.slideshare.net/sandrosonntag/goodby-server-hello-client
Performance Templating
Depending on App
● Profiling Toolshttps://docs.google.com/presentation/d/1ZZfy5zKx8cYSMGoi2QzM3viI6RUEWbV6S98yTfF5i0o/edit?pli=1#slide=id.gb280e77b_099
● Batarang, check yourself
● Bind-Once
https://github.com/Pasvaz/bindonce
● Use Value by Reference
http://orangevolt.blogspot.de/2013/08/superspeed-your-angularjs-apps.html?utm_source=ng-newsletter&utm_campaign=d2ddad458c-
AngularJS_Newsletter_9_3_139_3_2013&utm_medium=email&utm_term=0_fa61364f13-d2ddad458c-86956513
Acceptance Criteria
● Peformance
● Component model
Goals for the View-Part
Software Quality/Features
● Data binding
● Standard supports
● Internationalization
● SEO
● Long term
● Reduce duplication
● Less Development Time
Goals for the View-Part

Recommended for you

Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomasPerformance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas

Phantomas is a tool for monitoring web performance and Angular.js applications. It passively monitors performance through a JavaScript virtual machine and Node.js. It generates reports on metrics like requests, assets, DOM complexity, and events in JSON, CSV, TAP, and other formats. It has an easy setup through Grunt and focuses only on frontend performance without network latency.

Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.js

Angular.js angular some thoughs and learnings about module management. some ideas about usefulness of amd and alternatives up to async loading of content and execution Speakers: Johannes Weber David Amend

angularangular.jsamd
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js

The document discusses setting up a multi-module build process for an Angular and TypeScript application with Gulp at DAB Bank. It describes challenges with their initial Grunt-based approach and outlines their new Gulp-based solution using a common setup module to define shared build tasks and provide a base configuration. It also covers managing dependencies between files and modules through Angular's module system and TypeScript's module syntax.

angularsetupangular.js
Want to hide/wrap/ignore
the Web?
Code Generation
Too Abstract Layering
Easy extendable
vs.
Easy combination
of Frameworks
Easy Customizeable
Performance
Optimization?
Angular.js Primary
Nice
Entry
Points
Bad: Different model concepts
Load
HTML
Load
Assets
Framework
Bootstrap
Deferred
Ajax &
RenderTemplate
Rendering
Apply Binding
<script src=”#{locale}.js>
● 3 Different ways to save i18n
Server-Side
templating
static asset.js I18n: within JSON data
Techniques & Webtechnologies
Angular.js possibilities
<div ng-init=”pizzaModel”>
<h2 ng-cloak ng-bind=”{{pizza.header}} ></h2>
<img src=”loading.gif” ng-hide=”true”></img>
<ul ng-hide=”{{doneLoading}}”>
<li ng-repeat=”pizza in pizzas”>
</ul>
</div>

Recommended for you

Reasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScriptReasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScript

advanced, angular, angular.js, architecture, cons, dab-bank, java, javaee, javascript, jsf, lessons learned, migration, node, pro, serverside, techstack, typescript, vaadin, webframework, java

angularjavascriptadvanced
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationThin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation

The document discusses the future of web technologies with thin-server architectures. It outlines the history of web development from early desktop applications to modern rich internet applications. The thin-server architecture moves more functionality to the client side, making applications more scalable, cacheable, and stateless. Major companies are investing in client-side technologies like Google Web Toolkit, and emerging standards like HTML5 support more intelligent clients.

single page applicationspa
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...

javascript angular.js angular using typescript scalable code enterprise quality directives services demo project lessons learned advanced manageable code

angular.jsangularlessons learned
Combination of View-Rendering
DeclarativeImperative
Logic ViewLogic
Object-
Oriented
XML,XSLTHard to merge
Component-Frameworks
Sencha, Dojo,
jQueryUI
Composition
Fits to
HTML/DOM
Always Code-Generation
ViewLogic
Types Of View-
Definition
Drag & Drop / Generation
Drag-&Drop-
Designer
Wavemaker, Oracle Forms...
UI Session-State on Server, Client-
Renderer
http://onehungrymind.com/angularjs-dynamic-
View-State
Definitions
Client Server
Render-
Engine
Clicked On Button
Trigger Rendering of Window
e.g. GWT(Vaadin),
Metawidget,...
Expensive
- Resources

Recommended for you

Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with funGrunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun

Grunt.js is a build tool like Rake, Ant, Maven, and Groovy that uses npm and JSON syntax. It is easy to extend and supports various environments. The document discusses several Grunt plugins for text input/output including grunt-figlet, grunt-cat, grunt-attention, grunt-prompt, and grunt-notify. It also briefly describes the Grunt API and configuration utilities.

grunt.jsadvancedgrunt
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with PhantomasGrunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas

Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas. This is the first presentation of an upcoming series to achieve a proper Continous Integration process for big JavaScript projects, memory leaks javascript, David Amend

gruntjavascript continous integrationperformance
Gwt widget frameworks_presentation
Gwt widget frameworks_presentationGwt widget frameworks_presentation
Gwt widget frameworks_presentation

This document provides an overview and comparison of different GWT frameworks, including plain GWT, SmartGWT, Ext-GWT/GXT, and Vaadin. It discusses the features and limitations of each framework, including architecture, components, licensing, and support. The presentation compares the frameworks on factors like learning curve, performance, customization capabilities, and integration with other technologies and aims to help attendees decide which framework may be best for their needs and projects.

vaadinframeworksext-gwt
Imperative vs. Declarative
if(condition){
$(‘#pizzaHeader’).hide()
}else{
$(‘#pizzaHeader’).show();
}
vs.
<div ng-hide=”condition”>content</div>
Performance: Flow of Rendering
Load
HTML
Load
Assets
Framework
Bootstrap
Deferred
Ajax &
RenderTemplate
Rendering
Apply Binding
Angular.js
does Lazy
Loading
Template
Rendering
Template
Rendering
Template
Rendering
Types of View Definition
Declarative
Simple String-
Replacement
Bi-Directional
Databindingvs.
e.g. JSP, PHP,
Ruby, ASP
Dojo, Angular,
JSF
Initial state is
smooth
Do not fight the
DOMExpensive !!!
Server-Side:
Expensive

Recommended for you

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company

NBFC Software: Optimize Your Non-Banking Financial Company Enhance Your Financial Services with Comprehensive NBFC Software NBFC software provides a complete solution for non-banking financial companies, streamlining banking and accounting functions to reduce operational costs. Our software is designed to meet the diverse needs of NBFCs, including investment banks, insurance companies, and hedge funds. Key Features of NBFC Software: Centralized Database: Facilitates inter-branch collaboration and smooth operations with a unified platform. Automation: Simplifies loan lifecycle management and account maintenance, ensuring efficient delivery of financial services. Customization: Highly customizable to fit specific business needs, offering flexibility in managing various loan types such as home loans, mortgage loans, personal loans, and more. Security: Ensures safe and secure handling of financial transactions and sensitive data. User-Friendly Interface: Designed to be intuitive and easy to use, reducing the learning curve for employees. Cost-Effective: Reduces the need for additional manpower by automating tasks, making it a budget-friendly solution. Benefits of NBFC Software: Go Paperless: Transition to a fully digital operation, eliminating offline work. Transparency: Enables managers and executives to monitor various points of the banking process easily. Defaulter Tracking: Helps track loan defaulters, maintaining a healthy loan management system. Increased Accessibility: Cutting-edge technology increases the accessibility and usability of NBFC operations. Request a Demo Now!

nbfc softwarenbfc software solutionsnbfc software company
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024

Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024

dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf

dachnug51 | HCL Sametime 12 as a Software Appliance | Erik Schwalb

dnugdachnugdachnug51
Load All In One Shot/Request
vs.
Lazy/Async Modularized
Loading
e.g. jQuery Mobile
http://ify.io/lazy-loading-in-angularjs/
Declarative
Full Conditions,
Loop, Logic
Support
Logic-Free Templates
vs.
Less as possible
e.g. Handlebars
Read-Logic only
Templating
http://stackoverflow.com/questions/13103050/angularjs-client-side-data-binding-and-server-side-templating
http://mircozeiss.com/how-to-pass-javascript-variables-from-a-server-to-angular/
● http://ziade.org/2013/02/13/fun-with-angularjs-amp-cornice/
● http://blog.thousandeyes.com/improving-end-user-experience-with-angularjs/
● 2.0v (server-side-prerendering, modularized,
compile)
●
● Maintaining?
● Speed?-Initial Load ? Flicker?
● Needed? - SEO, Work without JS?
●
●
Templating 2nd
● http://docs.angularjs.org/api/ng.directive:script
● https://github.com/ericclemmons/grunt-angular-templates
● https://github.com/karlgoldstein/grunt-html2js
● https://github.com/wmluke/grunt-inline-angular-templates (shameless plug)
http://www.bennadel.com/blog/2443-Rendering-DOM-Elements-With-ngRepeat-In-AngularJS.htm
● Angular magically does template rendering of the view
○ Optimization
○ Huge potential of optimization on the client side
○ Optimization of server side rendering is an illusion.
● Async, ng-cloak
● ng-bind vs. {{}}
● class usage disturbs designers
● make the DOM your friend
“80% DOM, 20% logic” ( Misko Hevery)
● Load all in one shot vs load all lazy loaded
● lazy loading in the background (jquery Mobile)

Recommended for you

WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf

WhatsApp Tracker Software is an effective tool for remotely tracking the target’s WhatsApp activities. It allows users to monitor their loved one’s online behavior to ensure appropriate interactions for responsive device use. Download this PPTX file and share this information to others.

whatsapp trackerwhatsapp tracker for parentswhatsapp tracker for employers
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf

What do fleet managers do? What are their duties, responsibilities, and challenges? And what makes a fleet manager effective and successful? This blog answers all these questions.

fleet managersresponsibilities of fleet mana
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …

Prada Group Reports Strong Growth in First Quarter …

User Experience matters
http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.
Client vs Server Templating: Speed up initial load for SPA with Angular as an example
Client vs Server Templating: Speed up initial load for SPA with Angular as an example
Links
Lazy Code Loading
http://ify.io/lazy-loading-in-angularjs/
Angular.js Performance improvement
http://orangevolt.blogspot.de/2013/08/superspeed-your-angularjs-apps.html?utm_source=ng-
newsletter&utm_campaign=d2ddad458c-
AngularJS_Newsletter_9_3_139_3_2013&utm_medium=email&utm_term=0_fa61364f13-d2ddad458c-86956513

Recommended for you

introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...

Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios. Ansys Mechanical is a dynamic tool that has a complete range of analysis tools.

mechanical engineeringmodelling software3d modelling software
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf

Discover the rich history of US Independence Day 2024, tracing its origins and evolution as a national holiday, and its significance today.

us independence day 2024us independence dayindependence day 2024
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers

Browse the slides from our recent webinar hosted by Divine Odazie, our tech evangelist.

cloudccxcloud services

More Related Content

What's hot

Angular 2 vs React
Angular 2 vs ReactAngular 2 vs React
Angular 2 vs React
Iran Reyes Fleitas
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
JamieTaylor112
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
Steve Souders
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 
AngularJS + React
AngularJS + ReactAngularJS + React
AngularJS + React
justvamp
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
Marcus Hellberg
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Krishnaprasad k
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
TechMagic
 
React js Online Training
React js Online TrainingReact js Online Training
React js Online Training
Learntek1
 
React Native
React NativeReact Native
React Native
Artyom Trityak
 
Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)
Ontico
 
React native: building native iOS apps with javascript
React native: building native iOS apps with javascriptReact native: building native iOS apps with javascript
React native: building native iOS apps with javascript
Polidea
 
React Vs AnagularJS
React Vs AnagularJSReact Vs AnagularJS
React Vs AnagularJS
deepakpatil84
 
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop
Ahmed rebai
 
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPT
Go4Guru
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
Binh Quan Duc
 
React js Demo Explanation
React js Demo ExplanationReact js Demo Explanation
React js Demo Explanation
Rama Krishna Vankam
 
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UI
Marcin Grzywaczewski
 
Angular 4
Angular 4Angular 4
Angular 4
Saurabh Juneja
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
Sebastian Pederiva
 

What's hot (20)

Angular 2 vs React
Angular 2 vs ReactAngular 2 vs React
Angular 2 vs React
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
AngularJS + React
AngularJS + ReactAngularJS + React
AngularJS + React
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
 
React js Online Training
React js Online TrainingReact js Online Training
React js Online Training
 
React Native
React NativeReact Native
React Native
 
Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)
 
React native: building native iOS apps with javascript
React native: building native iOS apps with javascriptReact native: building native iOS apps with javascript
React native: building native iOS apps with javascript
 
React Vs AnagularJS
React Vs AnagularJSReact Vs AnagularJS
React Vs AnagularJS
 
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop
 
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPT
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
 
React js Demo Explanation
React js Demo ExplanationReact js Demo Explanation
React js Demo Explanation
 
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UI
 
Angular 4
Angular 4Angular 4
Angular 4
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
 

Similar to Client vs Server Templating: Speed up initial load for SPA with Angular as an example

How NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscapeHow NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscape
Radosław Scheibinger
 
Dust.js
Dust.jsDust.js
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
Vlad Fedosov
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JSFestUA
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 
Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3
Karambir Singh Nain
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
Ilya Grigorik
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
Alive Kuo
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
LINAGORA
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
Khaled Mosharraf
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
Yoav Niran
 
Pre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlifyPre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlify
nuppla
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Dan Taylor
 
Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web worker
Suresh Patidar
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)
Igalia
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)
dpc
 
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersMaking sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
Lewiz
 
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web Vitals
Juan Picado
 
Webdevelopment
WebdevelopmentWebdevelopment
Webdevelopment
Giacomo Antonino Fazio
 

Similar to Client vs Server Templating: Speed up initial load for SPA with Angular as an example (20)

How NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscapeHow NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscape
 
Dust.js
Dust.jsDust.js
Dust.js
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
 
Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
 
Pre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlifyPre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlify
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web worker
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
 
You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)
 
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersMaking sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
 
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web Vitals
 
Webdevelopment
WebdevelopmentWebdevelopment
Webdevelopment
 

More from David Amend

Componentization css angular
Componentization css angularComponentization css angular
Componentization css angular
David Amend
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
David Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomasPerformance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
David Amend
 
Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.js
David Amend
 
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
David Amend
 
Reasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScriptReasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScript
David Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationThin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
David Amend
 
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
David Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with funGrunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
David Amend
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with PhantomasGrunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
David Amend
 
Gwt widget frameworks_presentation
Gwt widget frameworks_presentationGwt widget frameworks_presentation
Gwt widget frameworks_presentation
David Amend
 

More from David Amend (11)

Componentization css angular
Componentization css angularComponentization css angular
Componentization css angular
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomasPerformance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
 
Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.js
 
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
 
Reasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScriptReasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScript
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationThin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
 
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with funGrunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with PhantomasGrunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
 
Gwt widget frameworks_presentation
Gwt widget frameworks_presentationGwt widget frameworks_presentation
Gwt widget frameworks_presentation
 

Recently uploaded

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
sachin chaurasia
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
sachin chaurasia
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 

Recently uploaded (20)

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 

Client vs Server Templating: Speed up initial load for SPA with Angular as an example