SlideShare a Scribd company logo
1 of 23
• HTML5 Offline, Storage, and Canvas
                   • Embedded JavaScript
               • RESTful WebServices using
                 MVC 3, jQuery, and JSON
                • Go mobile with PhoneGap

                                       Doug Domeny
              Principal Software Engineer, Newforma, Inc.
July 2012
HTML5 Features
   Video
   Canvas (i.e., graphics API)
   Offline support
   Storage (i.e., database)
   Geolocation
   Form Elements
               http://html5demos.com/
HTML5 Form Elements
   <input type="search" name="q" placeholder="Search"
    autofocus />
   <input type="email" placeholder="Enter your email
    address" />
   <input type="url" placeholder="Enter your web address" />
   <input type="number" min="1" max="12" value="12" />
   <input type="range" min="1" max="12" value="12" />
   <input type="date" />
   <input type="datetime" />
   <input type="color" />
          http://localhost/html5cap/form.html
HTML5 Elements
   <header>
     The header element represents a group of introductory or
       navigational aids. The header element can also be used to wrap
       a section’s table of contents, a search form, or any relevant
       logos.
   <hgroup>
     The hgroup element represents the heading of a section. The
       element is used to group a set of h1–h6 elements when the
       heading has multiple levels, such as subheadings, alternative
       titles, or taglines.
   <footer>
     The footer element represents a footer for its nearest ancestor
       sectioning content or sectioning root element. A footer typically
       contains information about its section such as who wrote it, links
       to related documents, copyright data, and the like.
HTML5 Elements

   <nav>
    The nav element represents a section of a page that links to
      other pages or to parts within the page: a section with
      navigation links.
   <article>
    The article element represents a component of a page that
      consists of a self-contained composition that is intended to
      be independently distributable or reusable, e.g. in
      syndication. This could be a forum post, a magazine or
      newspaper article, a Web log entry, or any other
      independent item of content.
HTML5 Elements
   <section>
    The section element represents a generic document or
      application section. Examples of sections would be
      chapters, the tabbed pages in a tabbed dialog box, or the
      numbered sections of a thesis.
   <aside>
     The aside element represents a section of a page that
       consists of content that is tangentially related to the
       content around the aside element. Such sections are often
       represented as sidebars in printed typography.
   <time datetime=“2012-05-12”>May 12, 2012</time>

http://diveintohtml5.info/semantics.html#new-elements
HTML5 Document

   <!DOCTYPE html>
   <html lang="en">
    <head>
     <meta charset="utf-8" />
     <title></title>
    </head>
    <body></body>
   </html>
   <!DOCTYPE html>
    <html lang="en" manifest="CacheManifest.ashx">
   CACHE MANIFEST
    /HoneyDoList/css/style.css
    /HoneyDoList/ejs/HoneyDoListItemRow.htm
    /HoneyDoList/ejs/SelectList.htm
    /HoneyDoList/images/810%20Floor%20Plan.jpg
    /HoneyDoList/js/appCacheEventLogger.js
    /HoneyDoList/js/ejs.js
    /HoneyDoList/js/jquery-1.5.1.min.js
    /HoneyDoList/js/json2.js
    /HoneyDoList/js/modernizr-1.7.min.js
    /HoneyDoList/HoneyDoList.html
    /HoneyDoList/HoneyDoListItemForm.html
     …
    NETWORK:
    *
    # 2012-05-12 12:46:40Z
<table>
    <thead>
        <tr>
            <th>Description</th>
            <th>Location</th>
            <th>Discipline</th>
            <th>Status</th>
        </tr>
    </thead>
    <tbody>
<%
for (var i = 0; i < items.length; i++)
{
    var item = items[i];
%>
    <tr>
        <td><%= item.description %></td>
        <td><%= item.location %></td>
        <td><%= item.discipline %></td>
        <td><%= item.status %></td>
    </tr>
<%
}
%>
    </tbody>
</table>
EJS
   <script src="js/ejs.js"
    type="text/javascript"></script>




   http://code.google.com/p/embeddedjavascript
   public JsonResult Locations() {
        SelectionList list = _lists.GetLocations("json");
        return Json(list, JsonRequestBehavior.AllowGet);
    }
   http://localhost/HoneyDo/Lists/Locations
   {"items":[
    {"val": "Kitchen",          "txt": "Kitchen"},                 JSON
    {"val": "Living",           "txt": "Living Room"},    JavaScript Object Notation
    {"val": "Dining",           "txt": "Dining Room"},
                                                            http://www.json.org
    {"val": "Base",             "txt": "Basement"},
    {"val": "BedRm",            "txt": "Bedroom"},
    {"val": "Garage",           "txt": "Garage"},
    {"val": "Deck",             "txt": "Deck"},
    {"val": "Lav",              "txt": "Bathroom"},
    {"val": "Stairs",           "txt": "Stairs"}
    ]}
   jQuery.ajax( {
       url: "http://localhost/HoneyDo/Lists/" + list.key,
       dataType: "text",
       context: list,
       success: function (data) {
           var json = data;
           if (Modernizr.localstorage ) {
                // localStorage is always a string
                localStorage[this.key] = json;
           }
           updateList(this.key, json);
           numListsUpdated++;
           if (numListsUpdated == lists.length) {
                 clearTimeout(timer);
                 initdb();
           }
        }
    });
   localStorage (key/value strings)
       5 MB limit
       Supported by all browsers
   WebSqlDatabase (SQLite)
       Safari, Chrome, Opera
       NOT FireFox (has IndexedDB instead)
       IE doesn’t have any database yet
   if (Modernizr.localstorage)
    {
       // localStorage is always a string
       localStorage[key] = value;
    }
   if (Modernizr.websqldatabase) {
       db = openDatabase(“honeydodb", "0.1",
         “HoneyDo Database",
         10 * 1024 * 1024);
   db.transaction(function (tx) {
        tx.executeSql("insert into HoneyDoList
          (location, description, discipline, status)
          values (?,?,?,?);",
              values,
          nullDataHandler, errorHandler);
    }, myTransactionErrorCallback,
    myTransactionSuccessCallback);
Modernizr: feature detection
   Modernizr is a small JavaScript library that detects the
    availability of native implementations for next-generation web
    technologies:
     HTML5
     CSS3

     Geolocation API

     SVG

     Touch Events

     WebGL

   <script src=“js/modernizr-1.7.js" type="text/javascript"></script>
   http://www.modernizr.com/
   http://localhost/html5cap/index.html
Visual Studio
   HTML5 ASP.Net Controls
    http://sourceforge.net/projects/html5asp/
       Inputs with Custom Keyboards
       Inputs with Placeholder Text
       Dynamically created email links
       tappable phone numbers
       Map Links with Start and Finish addresses

   Visual Studio 2010 HTML5 Templates
       HTML5 Page Template with jQuery 1.5.1 & Modernizr 1.7
       HTML5 Web Site Template with jQuery 1.5.1 & Modernizr 1.7
Visual Studio 2010
   <canvas id="floorplan" width="300" height="225"></canvas>
   var canvas = $("#floorplan").get(0);
    var c = canvas.getContext("2d");
    c.save();
    c.lineWidth = 1;
    c.lineJoin = "round";
    var flipped = (y < 3 * r + 5);
    c.translate(x, y);
    if (flipped) {
          c.rotate(180 * deg);
    }
    // number background outline
    c.strokeStyle = "#F00";
    c.beginPath();
    c.moveTo(-r, 0);
    c.lineTo(-r, -3 * r);
    c.lineTo(r, -3 * r);
    c.lineTo(r, 0);
    // circle
    c.arc(0, 0, r, 0, Math.PI * 2, true);
    c.stroke();
    c.restore();
HTML 5 canvas cheat sheet
   http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html
Adobe PhoneGap
    open source hybrid framework
document.addEventListener("deviceready",
function () {

    if (navigator.network) {
        setInterval(function () {
            navigator.network.isReachable(
                "localhost",
                privateNetwork, {});
        }, 5000);
    }

    if (navigator.compass) {
        navigator.compass.watchHeading(
        function (heading) {
            heading += window.orientation;
            drawCompass(heading, window.orientation)
;
        }, { frequency: 2000 });
    }

    if (navigator.camera) {
        $("#cameraSection").show();
    }
}
appMobi



    50,000+ active developers; 25% created 3 or more
    Types of apps: 40% media, 35% games, 15% retail
    Apps run over 100 million times
    Majority of apps published to both iOS and Android
    In past 12 months, average time to complete halved to
     just 8 weeks
appMobi press release: June 25, 2012
http://www.marketwatch.com/story/appmobi-crosses-100-million-hybrid-html5-app-starts-2012-06-25
Resources
   diveintohtml5.info/
   html5demos.com/
   HTML 5 canvas cheat sheet
   jquery.com/
   embedded javascript
   www.phonegap.com/
   Android Apps
   iPhone Apps
   HTML5 apps on Windows
    Phone with PhoneGap

More Related Content

What's hot

JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017Gregg Kellogg
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataGregg Kellogg
 
Applied component i unit 2
Applied component i unit 2Applied component i unit 2
Applied component i unit 2Pramod Redekar
 
MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011Steven Francia
 
CouchDB : More Couch
CouchDB : More CouchCouchDB : More Couch
CouchDB : More Couchdelagoya
 
10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data ModelingDATAVERSITY
 
The Ring programming language version 1.10 book - Part 53 of 212
The Ring programming language version 1.10 book - Part 53 of 212The Ring programming language version 1.10 book - Part 53 of 212
The Ring programming language version 1.10 book - Part 53 of 212Mahmoud Samir Fayed
 
MongoDB + Java + Spring Data
MongoDB + Java + Spring DataMongoDB + Java + Spring Data
MongoDB + Java + Spring DataAnton Sulzhenko
 
Java Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDBJava Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDBTobias Trelle
 
Introduction to JSON & AJAX
Introduction to JSON & AJAXIntroduction to JSON & AJAX
Introduction to JSON & AJAXRaveendra R
 
MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know Norberto Leite
 
MVC and Razor - Doc. v1.2
MVC and Razor - Doc. v1.2MVC and Razor - Doc. v1.2
MVC and Razor - Doc. v1.2Naji El Kotob
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraMarkus Lanthaler
 

What's hot (17)

Why Django for Web Development
Why Django for Web DevelopmentWhy Django for Web Development
Why Django for Web Development
 
jQuery Ajax
jQuery AjaxjQuery Ajax
jQuery Ajax
 
JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked Data
 
MongoDB Meetup
MongoDB MeetupMongoDB Meetup
MongoDB Meetup
 
Applied component i unit 2
Applied component i unit 2Applied component i unit 2
Applied component i unit 2
 
MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011
 
CouchDB : More Couch
CouchDB : More CouchCouchDB : More Couch
CouchDB : More Couch
 
10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling10gen Presents Schema Design and Data Modeling
10gen Presents Schema Design and Data Modeling
 
The Ring programming language version 1.10 book - Part 53 of 212
The Ring programming language version 1.10 book - Part 53 of 212The Ring programming language version 1.10 book - Part 53 of 212
The Ring programming language version 1.10 book - Part 53 of 212
 
MongoDB + Java + Spring Data
MongoDB + Java + Spring DataMongoDB + Java + Spring Data
MongoDB + Java + Spring Data
 
Java Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDBJava Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDB
 
Introduction to JSON & AJAX
Introduction to JSON & AJAXIntroduction to JSON & AJAX
Introduction to JSON & AJAX
 
MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know
 
MVC and Razor - Doc. v1.2
MVC and Razor - Doc. v1.2MVC and Razor - Doc. v1.2
MVC and Razor - Doc. v1.2
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
Json tutorial, a beguiner guide
Json tutorial, a beguiner guideJson tutorial, a beguiner guide
Json tutorial, a beguiner guide
 

Viewers also liked

jQuery Mobile & PhoneGap
jQuery Mobile & PhoneGapjQuery Mobile & PhoneGap
jQuery Mobile & PhoneGapSwiip
 
Exploring out of-class learning - mobile devices - dogme language learning
Exploring out of-class learning - mobile devices - dogme language learningExploring out of-class learning - mobile devices - dogme language learning
Exploring out of-class learning - mobile devices - dogme language learningHoward Vickers
 
Turbo boost your Web UI with JavaScript
Turbo boost your Web UI with JavaScriptTurbo boost your Web UI with JavaScript
Turbo boost your Web UI with JavaScriptMohammad Emran Hasan
 
Webapps development on ubuntu
Webapps development on ubuntuWebapps development on ubuntu
Webapps development on ubuntuXiaoguo Liu
 

Viewers also liked (6)

HTML5 Slides
HTML5 SlidesHTML5 Slides
HTML5 Slides
 
jQuery Mobile & PhoneGap
jQuery Mobile & PhoneGapjQuery Mobile & PhoneGap
jQuery Mobile & PhoneGap
 
Exploring out of-class learning - mobile devices - dogme language learning
Exploring out of-class learning - mobile devices - dogme language learningExploring out of-class learning - mobile devices - dogme language learning
Exploring out of-class learning - mobile devices - dogme language learning
 
Turbo boost your Web UI with JavaScript
Turbo boost your Web UI with JavaScriptTurbo boost your Web UI with JavaScript
Turbo boost your Web UI with JavaScript
 
Unconference
UnconferenceUnconference
Unconference
 
Webapps development on ubuntu
Webapps development on ubuntuWebapps development on ubuntu
Webapps development on ubuntu
 

Similar to Html5 and web technology update

HTML5 and web technology update
HTML5 and web technology updateHTML5 and web technology update
HTML5 and web technology updateDoug Domeny
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)Christian Rokitta
 
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~Sho Ito
 
Create a mobile web app with Sencha Touch
Create a mobile web app with Sencha TouchCreate a mobile web app with Sencha Touch
Create a mobile web app with Sencha TouchJames Pearce
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012crokitta
 
Summer - The HTML5 Library for Java and Scala
Summer - The HTML5 Library for Java and ScalaSummer - The HTML5 Library for Java and Scala
Summer - The HTML5 Library for Java and Scalarostislav
 
An Introduction to Tornado
An Introduction to TornadoAn Introduction to Tornado
An Introduction to TornadoGavin Roy
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegapyangdj
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaveryangdj
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
A mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesA mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesJames Pearce
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 

Similar to Html5 and web technology update (20)

HTML5 and web technology update
HTML5 and web technology updateHTML5 and web technology update
HTML5 and web technology update
 
Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fallHtml5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
 
html5
html5html5
html5
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)
 
前端概述
前端概述前端概述
前端概述
 
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
 
HTML5
HTML5HTML5
HTML5
 
Jquery fundamentals
Jquery fundamentalsJquery fundamentals
Jquery fundamentals
 
Create a mobile web app with Sencha Touch
Create a mobile web app with Sencha TouchCreate a mobile web app with Sencha Touch
Create a mobile web app with Sencha Touch
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
 
Summer - The HTML5 Library for Java and Scala
Summer - The HTML5 Library for Java and ScalaSummer - The HTML5 Library for Java and Scala
Summer - The HTML5 Library for Java and Scala
 
An Introduction to Tornado
An Introduction to TornadoAn Introduction to Tornado
An Introduction to Tornado
 
Wt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technologyWt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technology
 
Wt unit 2 ppts client side technology
Wt unit 2 ppts client side technologyWt unit 2 ppts client side technology
Wt unit 2 ppts client side technology
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegap
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
A mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesA mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutes
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 

Recently uploaded

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Html5 and web technology update

  • 1. • HTML5 Offline, Storage, and Canvas • Embedded JavaScript • RESTful WebServices using MVC 3, jQuery, and JSON • Go mobile with PhoneGap Doug Domeny Principal Software Engineer, Newforma, Inc. July 2012
  • 2. HTML5 Features  Video  Canvas (i.e., graphics API)  Offline support  Storage (i.e., database)  Geolocation  Form Elements http://html5demos.com/
  • 3. HTML5 Form Elements  <input type="search" name="q" placeholder="Search" autofocus />  <input type="email" placeholder="Enter your email address" />  <input type="url" placeholder="Enter your web address" />  <input type="number" min="1" max="12" value="12" />  <input type="range" min="1" max="12" value="12" />  <input type="date" />  <input type="datetime" />  <input type="color" /> http://localhost/html5cap/form.html
  • 4. HTML5 Elements  <header> The header element represents a group of introductory or navigational aids. The header element can also be used to wrap a section’s table of contents, a search form, or any relevant logos.  <hgroup> The hgroup element represents the heading of a section. The element is used to group a set of h1–h6 elements when the heading has multiple levels, such as subheadings, alternative titles, or taglines.  <footer> The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.
  • 5. HTML5 Elements  <nav> The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.  <article> The article element represents a component of a page that consists of a self-contained composition that is intended to be independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a Web log entry, or any other independent item of content.
  • 6. HTML5 Elements  <section> The section element represents a generic document or application section. Examples of sections would be chapters, the tabbed pages in a tabbed dialog box, or the numbered sections of a thesis.  <aside> The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element. Such sections are often represented as sidebars in printed typography.  <time datetime=“2012-05-12”>May 12, 2012</time> http://diveintohtml5.info/semantics.html#new-elements
  • 7. HTML5 Document  <!DOCTYPE html>  <html lang="en">  <head>  <meta charset="utf-8" />  <title></title>  </head>  <body></body>  </html>
  • 8. <!DOCTYPE html> <html lang="en" manifest="CacheManifest.ashx">  CACHE MANIFEST /HoneyDoList/css/style.css /HoneyDoList/ejs/HoneyDoListItemRow.htm /HoneyDoList/ejs/SelectList.htm /HoneyDoList/images/810%20Floor%20Plan.jpg /HoneyDoList/js/appCacheEventLogger.js /HoneyDoList/js/ejs.js /HoneyDoList/js/jquery-1.5.1.min.js /HoneyDoList/js/json2.js /HoneyDoList/js/modernizr-1.7.min.js /HoneyDoList/HoneyDoList.html /HoneyDoList/HoneyDoListItemForm.html … NETWORK: * # 2012-05-12 12:46:40Z
  • 9. <table> <thead> <tr> <th>Description</th> <th>Location</th> <th>Discipline</th> <th>Status</th> </tr> </thead> <tbody> <% for (var i = 0; i < items.length; i++) { var item = items[i]; %> <tr> <td><%= item.description %></td> <td><%= item.location %></td> <td><%= item.discipline %></td> <td><%= item.status %></td> </tr> <% } %> </tbody> </table>
  • 10. EJS  <script src="js/ejs.js" type="text/javascript"></script>  http://code.google.com/p/embeddedjavascript
  • 11. public JsonResult Locations() { SelectionList list = _lists.GetLocations("json"); return Json(list, JsonRequestBehavior.AllowGet); }  http://localhost/HoneyDo/Lists/Locations  {"items":[ {"val": "Kitchen", "txt": "Kitchen"}, JSON {"val": "Living", "txt": "Living Room"}, JavaScript Object Notation {"val": "Dining", "txt": "Dining Room"}, http://www.json.org {"val": "Base", "txt": "Basement"}, {"val": "BedRm", "txt": "Bedroom"}, {"val": "Garage", "txt": "Garage"}, {"val": "Deck", "txt": "Deck"}, {"val": "Lav", "txt": "Bathroom"}, {"val": "Stairs", "txt": "Stairs"} ]}
  • 12. jQuery.ajax( { url: "http://localhost/HoneyDo/Lists/" + list.key, dataType: "text", context: list, success: function (data) { var json = data; if (Modernizr.localstorage ) { // localStorage is always a string localStorage[this.key] = json; } updateList(this.key, json); numListsUpdated++; if (numListsUpdated == lists.length) { clearTimeout(timer); initdb(); } } });
  • 13. localStorage (key/value strings)  5 MB limit  Supported by all browsers  WebSqlDatabase (SQLite)  Safari, Chrome, Opera  NOT FireFox (has IndexedDB instead)  IE doesn’t have any database yet
  • 14. if (Modernizr.localstorage) { // localStorage is always a string localStorage[key] = value; }
  • 15. if (Modernizr.websqldatabase) { db = openDatabase(“honeydodb", "0.1", “HoneyDo Database", 10 * 1024 * 1024);  db.transaction(function (tx) { tx.executeSql("insert into HoneyDoList (location, description, discipline, status) values (?,?,?,?);", values, nullDataHandler, errorHandler); }, myTransactionErrorCallback, myTransactionSuccessCallback);
  • 16. Modernizr: feature detection  Modernizr is a small JavaScript library that detects the availability of native implementations for next-generation web technologies:  HTML5  CSS3  Geolocation API  SVG  Touch Events  WebGL  <script src=“js/modernizr-1.7.js" type="text/javascript"></script>  http://www.modernizr.com/  http://localhost/html5cap/index.html
  • 17. Visual Studio  HTML5 ASP.Net Controls http://sourceforge.net/projects/html5asp/  Inputs with Custom Keyboards  Inputs with Placeholder Text  Dynamically created email links  tappable phone numbers  Map Links with Start and Finish addresses  Visual Studio 2010 HTML5 Templates  HTML5 Page Template with jQuery 1.5.1 & Modernizr 1.7  HTML5 Web Site Template with jQuery 1.5.1 & Modernizr 1.7
  • 19. <canvas id="floorplan" width="300" height="225"></canvas>  var canvas = $("#floorplan").get(0); var c = canvas.getContext("2d"); c.save(); c.lineWidth = 1; c.lineJoin = "round"; var flipped = (y < 3 * r + 5); c.translate(x, y); if (flipped) { c.rotate(180 * deg); } // number background outline c.strokeStyle = "#F00"; c.beginPath(); c.moveTo(-r, 0); c.lineTo(-r, -3 * r); c.lineTo(r, -3 * r); c.lineTo(r, 0); // circle c.arc(0, 0, r, 0, Math.PI * 2, true); c.stroke(); c.restore();
  • 20. HTML 5 canvas cheat sheet  http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html
  • 21. Adobe PhoneGap open source hybrid framework document.addEventListener("deviceready", function () { if (navigator.network) { setInterval(function () { navigator.network.isReachable( "localhost", privateNetwork, {}); }, 5000); } if (navigator.compass) { navigator.compass.watchHeading( function (heading) { heading += window.orientation; drawCompass(heading, window.orientation) ; }, { frequency: 2000 }); } if (navigator.camera) { $("#cameraSection").show(); } }
  • 22. appMobi  50,000+ active developers; 25% created 3 or more  Types of apps: 40% media, 35% games, 15% retail  Apps run over 100 million times  Majority of apps published to both iOS and Android  In past 12 months, average time to complete halved to just 8 weeks appMobi press release: June 25, 2012 http://www.marketwatch.com/story/appmobi-crosses-100-million-hybrid-html5-app-starts-2012-06-25
  • 23. Resources  diveintohtml5.info/  html5demos.com/  HTML 5 canvas cheat sheet  jquery.com/  embedded javascript  www.phonegap.com/  Android Apps  iPhone Apps  HTML5 apps on Windows Phone with PhoneGap