SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Single-Page Applications
2

Introduction
• Petri Niemi, Tieturi Oy
• Web stuff
• Java stuff
• Also a bit of mobile, C# and C++ stuff

• Are you already familiar with single-page applications
(SPA)?
• Related Tieturi courses (for developers):
• Pre-requisite: "Advanced JavaScript Programming"
• Under construction: "Single-Page Applications Workshop"

Copyright © Tieturi Oy
3

Single-Page Application
Wikipedia:
"A single-page application (SPA), also known as single-page
interface (SPI), is a web application or web site that fits on a single web
page with the goal of providing a more fluid user experience akin to a desktop
application."

Copyright © Tieturi Oy
4

Multi-Page vs. Single-Page 1/2
• Examples of traditional multi-page web sites
• tieturi.fi
• iltalehti.fi
• amazon.com

• Examples of single-page web applications
• Gmail
• Hotmail

• Twitter used to be an SPA, but they went multi-page due to performance reasons
• https://blog.twitter.com/2012/improving-performance-on-twittercom

Copyright © Tieturi Oy
5

Multi-Page vs. Single-Page 2/2
• Main difference is in the way content is loaded and
rendered
• Example: user navigating from index.html to e.g. the
news section of the page/app
• Multi-page: index.html  news.html
• Full reload incl. HTML, CSS, JavaScript, images, …
• Note that the page changes to news.html, constructed by the server

• Single-page: index.html  index.html/#news
• Only load the content that changes (using e.g. AJAX/JSON)
• Use JavaScript to modify the current page's content accordingly
• Page always remains index.html, constructed by the client
Copyright © Tieturi Oy
6

Hashbang (#) URLs
• A way to keep track of navigation history without causing
a full page reload
• Example: navigating from index.html to
index.html/#news
• Does not cause a round-trip to the server
• The portion of the URL after # is never sent to the server

• You can react to the hash change in JavaScript
• E.g. fetch new data and update (part of) the page yourself
• What if the user has JavaScript disabled in the browser?

Copyright © Tieturi Oy
7

Cross-Platform HTML 5 SPAs
• SPAs enable cross-platform mobile applications – in
theory, at least…
• Still lack some capabilities compared to native
applications
• PhoneGap is a popular solution to this
• However, "Vast majority of PhoneGap developers use it solely for
cross-platform publishing purposes, they do not need the device
API access it provides"

• Performance is still also worse than in native apps

Copyright © Tieturi Oy
8

Pros of SPAs
• Improved user experience (UX)
• Similar to native applications
• Animations, user interaction
• Faster navigation from one page to another

• Less data to transfer after initial page load
• The initial load might actually be slower (the Twitter problem)
• Very important especially on mobile

• Thick clients take part of the work load from the server
• It's distributed computing again!
• Servers can become dumber, all they need to do is to provide the
data (AJAX, HTTPRest, JSON)
• Light-weight server technologies on the rise: node.js, for example
Copyright © Tieturi Oy
9

Cons of SPAs
• Thicker clients require (much) more JavaScript
• JavaScript is DIFFICULT (testing, productivity, …)!
• How to pick the right helper libraries (gazillion options available)?
• You must implement low-level stuff yourself on the client
• E.g. page navigation (the back button)

• SPAs are not automatically search-engine friendly
• Due to hashbang URLs and JavaScript generating page content
• https://developers.google.com/webmasters/ajax-crawling/
• Analytics is also an issue

• Server does not know what kind of errors happen on the
client-side
• The server is dumb, remember?
Copyright © Tieturi Oy
10

HTML5 History API
• Will be a cleaner solution to the hashbang URLs we see
today
• Allows you to manipulate the URL and navigation history stack
without causing a page reload
• The URL will be a "proper" URL without hashbangs

• Allows a web app to be treated as a traditional web page and a
single page app at the same time

• Browser support not quite there yet
• Implementations are incoherent!
• IE 9 and older + some older mobile browsers have no support at
all
• http://caniuse.com/#feat=history

• https://github.com/browserstate/history.js/wiki/The-State-of-the-HTML5-History-API

Copyright © Tieturi Oy
11

Conclusions
• Single-page applications are not a one-size-fits-all-solution
• Think about the pros and cons – which matter more in your case?

• When done right, SPAs provide a much better user
experience
•
•
•
•

Especially on mobile clients
You will need to know your JavaScript(!)
You might need to limit your supported browsers list
You might need to figure out how to speed up the initial page load

Copyright © Tieturi Oy
12

Thank You!
Any Questions?

http://www.tieturi.fi/web

Helsinki, Tampere, Tukholma, Göteborg

Copyright © Tieturi Oy

Weitere ähnliche Inhalte

Was ist angesagt?

Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineBob German
 
Html5 with SharePoint 2010
Html5 with SharePoint 2010Html5 with SharePoint 2010
Html5 with SharePoint 2010Hemant Joshi
 
Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneTroy Miles
 
Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013) Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013) Sencha
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformRonald Courville
 
My First SharePoint Online PowerApp
My First SharePoint Online PowerAppMy First SharePoint Online PowerApp
My First SharePoint Online PowerAppBecky Bertram
 
HTML5のご紹介
HTML5のご紹介HTML5のご紹介
HTML5のご紹介yoshikawa_t
 
How to Successfully Implement Headless Drupal
How to Successfully Implement Headless DrupalHow to Successfully Implement Headless Drupal
How to Successfully Implement Headless DrupalAcquia
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile DevicesYnon Perek
 
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Mark Roden
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010Chris O'Connor
 
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointBringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointChad Schroeder
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningEric Overfield
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPagesMark Roden
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsAlius Petraška
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebChris Canal
 

Was ist angesagt? (20)

Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint Online
 
SharePoint Apps model overview
SharePoint Apps model overviewSharePoint Apps model overview
SharePoint Apps model overview
 
Html5 with SharePoint 2010
Html5 with SharePoint 2010Html5 with SharePoint 2010
Html5 with SharePoint 2010
 
Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and Backbone
 
Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013) Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013)
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development Platform
 
My First SharePoint Online PowerApp
My First SharePoint Online PowerAppMy First SharePoint Online PowerApp
My First SharePoint Online PowerApp
 
Pwa february 2018
Pwa february 2018Pwa february 2018
Pwa february 2018
 
HTML5のご紹介
HTML5のご紹介HTML5のご紹介
HTML5のご紹介
 
How to Successfully Implement Headless Drupal
How to Successfully Implement Headless DrupalHow to Successfully Implement Headless Drupal
How to Successfully Implement Headless Drupal
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile Devices
 
Iconus 2016
Iconus 2016Iconus 2016
Iconus 2016
 
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
 
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointBringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePoint
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint Provisioning
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPages
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
 

Andere mochten auch

Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
The rise of single-page applications
The rise of single-page applicationsThe rise of single-page applications
The rise of single-page applicationsCaridy Patino
 
Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with GruntLadies Who Code
 
An introduction in to the world of front end automation - frontend ne (02 07-15)
An introduction in to the world of front end automation - frontend ne (02 07-15)An introduction in to the world of front end automation - frontend ne (02 07-15)
An introduction in to the world of front end automation - frontend ne (02 07-15)frontendne
 
Js Automation. npm scripts & Gulp
Js Automation. npm scripts & GulpJs Automation. npm scripts & Gulp
Js Automation. npm scripts & GulpAnton Dosov
 
Making Single Page Applications (SPA) faster
Making Single Page Applications (SPA) faster Making Single Page Applications (SPA) faster
Making Single Page Applications (SPA) faster Boris Livshutz
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsDor Kalev
 
Single page applications
Single page applicationsSingle page applications
Single page applicationsDiego Cardozo
 
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Oleksii Prohonnyi
 
Single page application
Single page applicationSingle page application
Single page applicationJeremy Lee
 
Measuring the Performance of Single Page Applications
Measuring the Performance of Single Page ApplicationsMeasuring the Performance of Single Page Applications
Measuring the Performance of Single Page ApplicationsNicholas Jansma
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page ApplicationKMS Technology
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSM R Rony
 

Andere mochten auch (16)

Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
The rise of single-page applications
The rise of single-page applicationsThe rise of single-page applications
The rise of single-page applications
 
Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with Grunt
 
An introduction in to the world of front end automation - frontend ne (02 07-15)
An introduction in to the world of front end automation - frontend ne (02 07-15)An introduction in to the world of front end automation - frontend ne (02 07-15)
An introduction in to the world of front end automation - frontend ne (02 07-15)
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
Js Automation. npm scripts & Gulp
Js Automation. npm scripts & GulpJs Automation. npm scripts & Gulp
Js Automation. npm scripts & Gulp
 
Making Single Page Applications (SPA) faster
Making Single Page Applications (SPA) faster Making Single Page Applications (SPA) faster
Making Single Page Applications (SPA) faster
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
 
Single page application
Single page applicationSingle page application
Single page application
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 
Measuring the Performance of Single Page Applications
Measuring the Performance of Single Page ApplicationsMeasuring the Performance of Single Page Applications
Measuring the Performance of Single Page Applications
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 

Ähnlich wie 27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Single-Page Applications

Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Jeremy Likness
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
DIGIT Noe 2016 - Overview of front end development today
DIGIT Noe 2016 - Overview of front end development todayDIGIT Noe 2016 - Overview of front end development today
DIGIT Noe 2016 - Overview of front end development todayBojan Veljanovski
 
The API and APP-ification of the Web
The API and APP-ification of the WebThe API and APP-ification of the Web
The API and APP-ification of the Web3scale
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperOfer Zelig
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
 
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...Marie Smith
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPAGil Fink
 
Why use Go for web development?
Why use Go for web development?Why use Go for web development?
Why use Go for web development?Weng Wei
 
Modernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformModernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformJonathan Schultz
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotchaphegaro
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePointLouis-Philippe Lavoie
 
Developing and deploying a website with html5
Developing and deploying a website with html5Developing and deploying a website with html5
Developing and deploying a website with html5Chris Love
 
Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Webgreenideas
 

Ähnlich wie 27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Single-Page Applications (20)

Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
DIGIT Noe 2016 - Overview of front end development today
DIGIT Noe 2016 - Overview of front end development todayDIGIT Noe 2016 - Overview of front end development today
DIGIT Noe 2016 - Overview of front end development today
 
The API and APP-ification of the Web
The API and APP-ification of the WebThe API and APP-ification of the Web
The API and APP-ification of the Web
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
 
To SPA or not to SPA
To SPA or not to SPATo SPA or not to SPA
To SPA or not to SPA
 
ITT Flisol 2013
ITT Flisol 2013ITT Flisol 2013
ITT Flisol 2013
 
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Why use Go for web development?
Why use Go for web development?Why use Go for web development?
Why use Go for web development?
 
Modernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformModernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power Platform
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
Developing and deploying a website with html5
Developing and deploying a website with html5Developing and deploying a website with html5
Developing and deploying a website with html5
 
Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Web
 

Mehr von Tieturi Oy

Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...Tieturi Oy
 
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...Tieturi Oy
 
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016
Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016Tieturi Oy
 
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössäKaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössäTieturi Oy
 
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purkuAamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purkuTieturi Oy
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...Tieturi Oy
 
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...Tieturi Oy
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Tieturi Oy
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Tieturi Oy
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...Tieturi Oy
 
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Tieturi Oy
 
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013Tieturi Oy
 
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...Tieturi Oy
 
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...Tieturi Oy
 
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.Tieturi Oy
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Tieturi Oy
 
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Tieturi Oy
 
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...Tieturi Oy
 
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...Tieturi Oy
 
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...Tieturi Oy
 

Mehr von Tieturi Oy (20)

Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
 
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
 
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016
Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016
 
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössäKaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
 
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purkuAamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
 
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
 
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
 
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
 
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
 
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
 
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
 
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
 
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
 
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
 
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Single-Page Applications

  • 2. 2 Introduction • Petri Niemi, Tieturi Oy • Web stuff • Java stuff • Also a bit of mobile, C# and C++ stuff • Are you already familiar with single-page applications (SPA)? • Related Tieturi courses (for developers): • Pre-requisite: "Advanced JavaScript Programming" • Under construction: "Single-Page Applications Workshop" Copyright © Tieturi Oy
  • 3. 3 Single-Page Application Wikipedia: "A single-page application (SPA), also known as single-page interface (SPI), is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application." Copyright © Tieturi Oy
  • 4. 4 Multi-Page vs. Single-Page 1/2 • Examples of traditional multi-page web sites • tieturi.fi • iltalehti.fi • amazon.com • Examples of single-page web applications • Gmail • Hotmail • Twitter used to be an SPA, but they went multi-page due to performance reasons • https://blog.twitter.com/2012/improving-performance-on-twittercom Copyright © Tieturi Oy
  • 5. 5 Multi-Page vs. Single-Page 2/2 • Main difference is in the way content is loaded and rendered • Example: user navigating from index.html to e.g. the news section of the page/app • Multi-page: index.html  news.html • Full reload incl. HTML, CSS, JavaScript, images, … • Note that the page changes to news.html, constructed by the server • Single-page: index.html  index.html/#news • Only load the content that changes (using e.g. AJAX/JSON) • Use JavaScript to modify the current page's content accordingly • Page always remains index.html, constructed by the client Copyright © Tieturi Oy
  • 6. 6 Hashbang (#) URLs • A way to keep track of navigation history without causing a full page reload • Example: navigating from index.html to index.html/#news • Does not cause a round-trip to the server • The portion of the URL after # is never sent to the server • You can react to the hash change in JavaScript • E.g. fetch new data and update (part of) the page yourself • What if the user has JavaScript disabled in the browser? Copyright © Tieturi Oy
  • 7. 7 Cross-Platform HTML 5 SPAs • SPAs enable cross-platform mobile applications – in theory, at least… • Still lack some capabilities compared to native applications • PhoneGap is a popular solution to this • However, "Vast majority of PhoneGap developers use it solely for cross-platform publishing purposes, they do not need the device API access it provides" • Performance is still also worse than in native apps Copyright © Tieturi Oy
  • 8. 8 Pros of SPAs • Improved user experience (UX) • Similar to native applications • Animations, user interaction • Faster navigation from one page to another • Less data to transfer after initial page load • The initial load might actually be slower (the Twitter problem) • Very important especially on mobile • Thick clients take part of the work load from the server • It's distributed computing again! • Servers can become dumber, all they need to do is to provide the data (AJAX, HTTPRest, JSON) • Light-weight server technologies on the rise: node.js, for example Copyright © Tieturi Oy
  • 9. 9 Cons of SPAs • Thicker clients require (much) more JavaScript • JavaScript is DIFFICULT (testing, productivity, …)! • How to pick the right helper libraries (gazillion options available)? • You must implement low-level stuff yourself on the client • E.g. page navigation (the back button) • SPAs are not automatically search-engine friendly • Due to hashbang URLs and JavaScript generating page content • https://developers.google.com/webmasters/ajax-crawling/ • Analytics is also an issue • Server does not know what kind of errors happen on the client-side • The server is dumb, remember? Copyright © Tieturi Oy
  • 10. 10 HTML5 History API • Will be a cleaner solution to the hashbang URLs we see today • Allows you to manipulate the URL and navigation history stack without causing a page reload • The URL will be a "proper" URL without hashbangs • Allows a web app to be treated as a traditional web page and a single page app at the same time • Browser support not quite there yet • Implementations are incoherent! • IE 9 and older + some older mobile browsers have no support at all • http://caniuse.com/#feat=history • https://github.com/browserstate/history.js/wiki/The-State-of-the-HTML5-History-API Copyright © Tieturi Oy
  • 11. 11 Conclusions • Single-page applications are not a one-size-fits-all-solution • Think about the pros and cons – which matter more in your case? • When done right, SPAs provide a much better user experience • • • • Especially on mobile clients You will need to know your JavaScript(!) You might need to limit your supported browsers list You might need to figure out how to speed up the initial page load Copyright © Tieturi Oy
  • 12. 12 Thank You! Any Questions? http://www.tieturi.fi/web Helsinki, Tampere, Tukholma, Göteborg Copyright © Tieturi Oy