Programmieren im Web 2.x

Ähnliche Dokumente
Präsentation Von Laura Baake und Janina Schwemer

Apps entwickeln mit HTML und Javascript

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

Mobile Kartenanwendungen im Web oder als App?

PHP Kurs Online Kurs Analysten Programmierer Web PHP

HTML5. Die Zukunft mobiler geodatenbasierter Anwendungen? Dipl.-Inf. Steve Schneider. Fraunhofer-Institut für Fabrikbetrieb und -automatisierung IFF

Eine App, viele Plattformen

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Scala & Lift. Ferenc Lajko

Ein mobiler Electronic Program Guide

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Testgetriebene Web-Entwicklung mit Ruby on Rails

Grundlagen der Web-Entwicklung

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

SAP NetWeaver Gateway. 2013

Architekturen mobiler Multi Plattform Apps

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

Mobile Webapps in kürzester Zeit: APEX mobile!

Mobile Angebote Strategie einer Verwaltung. Freie und Hansestadt Hamburg Dr. Ursula Dankert

Webseiten werden mobil Planung geht vor

App-Entwicklung mit Titanium

Relution Enterprise Appstore. Enable Enterprise Mobility. 2.5 Release Note

Internet Explorer Version 6

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011

Softwareentwicklung in der industriellen Praxis

Vaadin TouchKit. W3L AG

Alte Technik neu verpackt

RESTful Web. Representational State Transfer

Leitfaden zur Nutzung von binder CryptShare

Online-Publishing mit HTML und CSS für Einsteigerinnen

Architektur von Business Apps

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG

Flash, Network und Facebook. Steven Mohr

Use Cases, Mockups, Prototyping Von der Idee zur App

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Sicherheit QUALITÄTSSICHERUNG DESIGNER24.CH V 1.2. ADRESSE Designer24.ch Web Print Development Postfach Turbenthal Schweiz

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Verwendung des Terminalservers der MUG

HFT App. Prof. Dr. Gerhard Wanner Michael Kolb B.Sc. Sonntag, 26. Mai 13

Die ProntoWeb Assistenten

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Updatehinweise für die Version forma 5.5.5

Webseitenintegration. Dokumentation. v1.0

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Übungen zur Softwaretechnik

AK Medientechnologien 05 Delegation

Wiederholung: Beginn

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

Wenn Sie das T-Online WebBanking das erste Mal nutzen, müssen Sie sich zunächst für den Dienst Mobiles Banking frei schalten lassen.

1CONFIGURATION MANAGEMENT

4D Server v12 64-bit Version BETA VERSION

Cross Plattform App Developement. Simon Groth

Leistungen und Referenzen. 30. September 2013

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Zentrale Informatik. Cross-platform Apps. Andrea Grössbauer David Meier. 11/11/15 Lunchveranstaltungen HS16 - Crossplatform Apps 1

Man liest sich: POP3/IMAP

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

SJ OFFICE - Update 3.0

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Eine Anwendung mit InstantRails 1.7

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

CREATIVE CLOUD FÜR TEAMS

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1

Perceptive Document Composition

Mobile ERP Business Suite

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

Clientkonfiguration für Hosted Exchange 2010

Konzeption und Entwicklung einer mobilen Web-Applikation aus dem XML-Datenexport eines Redaktionssystems

Was ist ein «Nintex Workflow»? Nintex - Eine Übersicht Januar 2014

Lizenzen auschecken. Was ist zu tun?

Sicheres Single Sign-On mit dem SAML Holder-of-Key Web Browser SSO Profile und SimpleSAMLphp

Mobile Konsole von NetSupport DNA Erste Schritte. Copyright 2011 NetSupport Ltd alle Rechte vorbehalten

Appery.io Mobile Apps schnell und einfach entwickeln

Installationsanleitung dateiagent Pro

Umstieg auf Microsoft Exchange in der Fakultät 02

Installation des Zertifikats

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen

Leitfaden zur Nutzung des Systems CryptShare /Sicheres Postfach

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

C++ und mobile Plattformen

Android Remote Desktop & WEB

Automatisches Exploratives Testen von Webanwendungen

Reporting Services und SharePoint 2010 Teil 1

Transkript:

Programmieren im Web 2.x Ein Überblick über die Webentwicklung im Jahre 2011 Johannes Leers 26. März 2012

1 Motivation 2 Web-Frameworks 3 Mobile Computing 4 WebGL 5 Cloud Computing 6 Fazit

Native Programme pro Plattform programmieren und/oder kompilieren viele Update-Mechanismen: Kompilieren, Packaging & Freigabeprozesse

Web-Programme Einmal programmieren, auf allen Plattformen lauffähig (im Idealfall) Zusätzlicher Vorteil bei mobilen Endgeräten Ein Update-Mechanismus: Schnelles Deployment im Hintergrund

Vorteile von Frameworks Programmiergerüst Konzentration auf Kernprobleme Weniger Code = Weniger Fehler

Vorteile von Frameworks Ajax ohne Framework (reines JavaScript) v a r a n f r a g e = n u l l ; t r y { a n f r a g e = new A c t i v e X O b j e c t ( MSXML2.XMLHTTP ) ; } c a t c h ( E r r o r ) { t r y { a n f r a g e = new A c t i v e X O b j e c t ( M i c r o s o f t.xmlhttp ) ; } c a t c h ( E r r o r ) { t r y { a n f r a g e = new XMLHttpRequest ( ) ; } c a t c h ( E r r o r ) { a l e r t ( F e h l e r beim Erzeugen des O b j e k t e s ) ; } } } a n f r a g e. open ( GET, / t e s t. c g i, t r u e ) ;

Vorteile von Frameworks Ajax mit Framework (jquery) $.get("/test.cgi");

Ruby on Rails Ruby Yukihiro Matsumoto Einflüsse: Perl, Smalltalk, Eiffel, Ada und Lisp 1995 unter GPL veröffentlicht 2001 englische Dokumentation Bis 2004 außerhalb Japans Nischen-Dasein

Ruby on Rails Ruby on Rails 2004 unter MIT-Lizenz veröffentlicht David Heinemeier Hansson, 37signals Aus Projektmanagement- Software Basecamp extrahiert

Ruby on Rails Model, View, Controller * View Controller * Model 1979: Trygve Reenskaug Applications Programming in Smalltalk-80: How to use Model View Controller Separation of Concerns Direkte Verbindung * Indirekte Verbindung (z.b. über Observer)

Ruby on Rails Convention over Configuration Auch: Coding by Convention Jede Anwendung kommt ohne Konfiguration aus z.b. Namenskonventionen Vorteile für neue Entwickler in gewachsenen Projekten Wurzeln dieses Konzepts: 1997, Java-Bibliotheken

Ruby on Rails ActiveRecord User.create(:name=>"Johannes") user = User.find(1) user.delete Design Pattern für Object-Relational-Mapping Active Record geprägt von Martin Fowler, 2003 Ein Active Record ist ein Objekt, das einer Zeile in einer Datenbank-Tabelle entspricht. Es kapselt den Datenbankzugriff und fügt Domain-Logik hinzu.

Ruby on Rails REST Architekturstil: Representational state transfer 2000 von Roy Thomas Fielding beschrieben Die Schnittmenge zwischen Systemen auf eine überschaubare, standardisierte Menge von Aktionen reduzieren POST, PUT, GET, DELETE Variable wird z.b. über ein Formular im Request gesendet

Andere Web-Frameworks Ocsigen (OCaml) 2007, LGPL Diderot Universität (Paris) Server- und Client-Code ist OCaml Statische Typisierung: Wohlgetypte Programme stürzen niemals ab Typsystem: Form-Elemente passen immer zu den Datenbank-Objekten (z.b. Checkbox: Boolean)

Andere Web-Frameworks Opa (Opa) 2011, AGPL MLState (Zusammenschluss von Forschern rund um Online-Softwareentwicklung) Kein Web-Framework im klassischem Sinne Wird in eine ausführbare Datei kompiliert Server- und Client-Code ist in Opa programmiert Impedance Mismatch verhindern

Motivation Browserbasierte ersetzen native Anwendungen Mobile Endgeräte fast immer online 2010: 16% mobiles Internet 44% nutzen Facebook mobil durch HTML5-Elemente Look & Feel wie native Anwendungen

Vier Ansätze mobiler Frontends Cascading Style Sheets (CSS) einfach umzusetzen ineffizient bezüglich Datentransfers Mobile Web-Frameworks z.b. Sencha Touch oder jquery Mobile kein Zugriff auf Geräte-APIs Hybride Anwendungen z.b. PhoneGap oder AppCelerator Titanium Wrapper für Web-Anwendungen Zugriff auf Geräte-APIs möglich App-Stores Native Anwendungen Android: Java, ios: Objective-C mit Rhodes plattformübergreifend

Einführung Ermöglicht 3D im Browser Vorgänger 1994: Virtual Reality Markup Language Khronos Group und Mozilla, 2009 Basiert auf OpenGL Offener Standard vom W3C 2011: Fester Bestandteil aller großen Browser Sonderstellung Microsoft Internet Explorer

Technik HTML5-Element canvas für freies Zeichnen JavaScript ist Bindeglied zum Browser Eigene Spezifikation für Binärdaten Typed Arrays Hoher Programmieraufwand Etablierung mehr oder weniger kompletter WebGL-Frameworks

Einführung Achtziger Jahre: Mainframes Keine Installation auf lokalem Rechner nötig Frühjahr 2011: 70% der Unternehmen arbeiten an Cloud-Strategie Wichtigster Antriebsfaktor: Kostenersparnis Kosten durch Verbrauch (z.b. pro User/ Monat)

Software as a Service 2010, Apache Software License Vereinigt viele Schnittstellen zu Cloud-Anbietern in einer REST-API Client-Bibliotheken für viele Programmiersprachen (u.a. C, C++, Ruby) Jede Cloud hat einen Adapter (driver)

Danke Fazit: Ist-Zustand?