SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
CANADIAN HEADQUARTERS          UNITED STATES OFFICE          UNITED KINGDOM OFFICE      www.appnovation.com
                      152 West Hastings Street       3414 Peachtree Road, #1600    1 Bell Street, Berkshire   info@appnovation.com
                      Vancouver BC, V6B 1G8          Atlanta Georgia, 30326-1164   United Kingdom, SL6 1BU




    DRUPAL + HTML5 + CSS3 + JS
                =
    RICH INTERNET APPLICATION

 Drupalcamp Atlanta 2012
             #DcATL                                                                     Richard Mo
                                                                          richardm@appnovation.com


Richard Mo                                       V                                                            October 27, 2012
DRUPAL + HTML5 + CSS3 + JS =
RICH INTERNET APPLICATION

  1.         Website (CMS) = Drupal
  2.                    UI = HTML5 + CSS3 + JS
  3.                       = Sproutcore

  4.                   RIA = Drupal + HTML5 + CSS3 + JS
  5.                       = Drupal + Sproutcore




Richard Mo                      V                    October 27, 2012
DRUPAL + HTML5 + CSS3 + JS =
RICH INTERNET APPLICATION
  1. The Problem
  2. Traditional vs. Contemporary
  3. Go Mobile!
  4. Drupal as a powerful engine
  5. HTML5+CSS3+JS as a highly interactive UI
  6. A brief introduction to Sproutcore
  7. Bridging the gaps between CMS & UX
  8. Benefits
  9. Showtime!
  10.Conclusion! Our Answer to The Problem
  11.Questions?

Richard Mo                V                     October 27, 2012
Richard Mo
    Bachelor of Computing Science,
    Specialized in Software Engineering & Artificial Intelligence



    @ Appnovation
    Drupal Developer
    Sproutcore



Richard Mo                            V                             October 27, 2012
Appnovation Technologies
specializes in the use of leading
OPEN-SOURCE TECHNOLOGIES




Richard Mo        V             October 27, 2012
The Problem



Richard Mo    V       October 27, 2012
THE PROBLEM
  Make a website cross-browser compatible…
  •   Base style and browser-targeted stylesheets.
  •   Easy, but a lot of work.
  Then, make website behave and look like a desktop application…
  •   HTML and CSS with AJAX works well in simple application.
  •   Embed a Flash object onto a webpage and build the entire application in Flash.
  •   Problem solved temporarily.
  Now, make the application work on Android, iOS, and Windows Phone…
  •   Android, iOS and Windows Phone does not support Flash.
  •   Convert the application into native app for each platform.
  Finally, I need to periodically update the application with new features…
  •   Update iOS, Android, and Windows Phone.




Richard Mo                                    V                                        October 27, 2012
THE PROBLEM

                  Satisfying all these requirements
                  using our current methodology is
                  inadequate!


                      Platform incompatibility issues.

                      Cost of development is way too high.

                      Maintenance is very expensive.




Richard Mo    V                                      October 27, 2012
Traditional vs.
             Contemporary



Richard Mo     V           October 27, 2012
THIN CLIENT ARCHITECTURE
              UI / Theme
                                The traditional website.

               Business
                                Server does all the work, mostly.
                Logic

                                Server is responsible for sending any
                  DB            asset the client asks.
              Abstraction
 Browser
                                Client is responsible for rendering the
                                HTML.

               Database         For every page load the client asks the
                                server to send in a new set of HTML.
                                •   Server runs through the same process again
                                    and again.
                Assets



CLIENT SIDE   SERVER SIDE                                            Drupal.

Richard Mo                  V                                        October 27, 2012
THICK CLIENT ARCHITECTURE

   A desktop application.                               UI / Theme


   Server stores all data.
                                                          Assets

   Client does all the work, mostly.                                     API
                                                         Business
   Client has all assets at initial launch.               Logic
                                                                          DB
   Send request to acquire more later, if needed.
                                                                      Abstraction
                                                         Browser
   Client responds to user interactions
   quickly.
   Very fast and responsive. Feedback is usually
   provided.                                                           Database




   An online multiplayer game.                          CLIENT SIDE   SERVER SIDE


  Richard Mo                                        V                     October 27, 2012
CLIENT SIDE                                                  SERVER SIDE



           Assets               UI / Theme                                          JSON API



                                                                                                  DB
       Local Storage        Business Logic                            Business Logic
                                                                                              Abstraction




                      Browser
                                                                                    Database


HYBRID DESIGN
•    Generates all markups and handles rendering.         •   Handles all business logic closely related to data.
•    Executes all business logic closely related to       •   Any computation intensive logic should execute
     display.                                                 here.
•    Any other calculations that can be done here.        •   Server’s main focus is data management.
•    Owns a small data store for local manipulation       •   Response to any client requests for data and
•    Requests server for data, if needed.                     additional assets.



    Richard Mo                                        V                                               October 27, 2012
Go Mobile!
             Mobile first. Desktop second.




Richard Mo       V                   October 27, 2012
Go Mobile!
   Mobile is the trend!                      Mobile network is usually unstable.

   Processing power continues to             Different devices have their own
   increase.                                 standards and API.

   Traditional design is inadequate to       Hybrid design favors mobile
   create a website like a native app.       devices and benefits desktop
                                             users.


 Richard Mo                              V                                 October 27, 2012
Drupal
             as a powerful engine


                    Website (CMS) = Drupal

Richard Mo      V                       October 27, 2012
DRUPAL AS A POWERFUL ENGINE
                                      Website (CMS) = Drupal




                     Natively a powerful Content Management
                     System.

                     Internal structure is designed for this job.
                     •   Nodes, Taxonomies – Entities

                     A robust framework to build your
                     application.

                     Huge selection of contributed modules at
                     your disposal.
                     •   Build your own if nothing works!




 Richard Mo          V                                      October 27, 2012
DRUPAL AS A POWERFUL ENGINE
                                         Website (CMS) = Drupal


                    We mean to turn Drupal into an engine that
                    drives your application!

                          Drupal is the center for all content
                          management.

                          Extend the core to drive all business logic
                          closely related to data.

                          Processor for any computational intensive
                          logic & calculations.

                          Provide a JSON REST interface for servicing
                          client requests.


                    Drupal 8 is already moving towards this
                    direction!

 Richard Mo           V                                          October 27, 2012
HTML5+CSS3+JS
             as a highly interactive UI



                      UI = HTML5+CSS3+JS

Richard Mo       V                    October 27, 2012
HTML5+CSS3+JS AS A HIGHLY INTERACTIVE UI
  UI = HTML5+CSS3+JS




    HTML5 is the 5th generation of the HTML standard
    •   Adding new elements such as <video>, <audio>, and <canvas>.
    •   JavaScript API such as Local Storage, Drag & Drop, and Cross Document Messaging

    CSS3 added support for Media Queries, Shape transformations, transitions, and
    animations

    JavaScript is the backbone that drives the UI and all browsers support it.
    •   Backbone.JS, Sencha (Ext JS & Touch), and Sproutcore

    HTML5+CSS3+JS is believed to replace many browser plugins like Flash.

Richard Mo                                   V                                      October 27, 2012
HTML5+CSS3+JS AS A HIGHLY INTERACTIVE UI
  UI = HTML5+CSS3+JS




    Need a UI that is that has desktop-like behavior and cross-platform compatible.
    •   Works on both mobile and desktop all together.
    •   Fancy and responsive.

    JS, HTML5 and CSS3 is native to all modern browsers and mobile devices.

    Leave behind Drupal theming engine for generating templates.
    •   Server no longer handles UI.




Richard Mo                                   V                                    October 27, 2012
HTML5+CSS3+JS AS A HIGHLY INTERACTIVE UI
  UI = HTML5+CSS3+JS




    All business logic and calculations closely related to display is moved here.

    Data is requested from server only when necessary.
    •   UI is still functional on a unstable and slow internet connection.

    All static HTML display and dynamically generated markup is handled via JavaScript.

    All required assets are downloaded at initial startup.
    •   Request from server for additional assets.




Richard Mo                                       V                                  October 27, 2012
Sproutcore
             A brief introduction



                       UI = Sproutcore

Richard Mo      V                   October 27, 2012
A BRIEF INTRODUCTION TO SPROUTCORE
                                                      UI = Sproutcore




                            Open-Source. It’s FREE!

                            Framework providing structure and flow.

                            Model-View-Controller programming
                            paradigm.

                            Supports all HTML5 features.

                            Build JavaScript application comparable to
                            desktop.

                            Quickly builds a UI with minimal coding.

                            Cross-platform compatible: Chrome, Firefox,
                            Internet Explorer, and Safari


Richard Mo              V                                       October 27, 2012
A BRIEF INTRODUCTION TO SPROUTCORE
                                                           UI = Sproutcore

Kobo Instant Reader is built entirely using Sproutcore.

Apple iCloud web service is also built using Sproutcore.

Richard Mo                                V                        October 27, 2012
Bridging the Gaps
             Between CMS & UI



             RIA = Drupal + HTML5+CSS3+JS

Richard Mo       V                     October 27, 2012
BRIDGING THE GAPS BETWEEN CMS & UI
RIA = Drupal + HTML5+CSS3+JS




Out of Box, Drupal provides an admin UI for managing content.
• Already does user authentication and profiles management.

Drupal can be easily converted to a JSON REST server.
• Views or Services module

Content managers do not have to worry about making changes to UI to adopt new
contents.
• Create contents in Drupal and the UI will grab them.
• Provided a centralized area to manage contents and users.
  Richard Mo                               V                          October 27, 2012
BRIDGING THE GAPS BETWEEN CMS & UI
RIA = Drupal + HTML5+CSS3+JS




UI has become very flexible in terms of usability and design.
• No longer bounded to the restrictions imposed by Drupal theming engine.
• Very open-ended yet the whole UI must be built from scratch.

Behaves similarly to a desktop application and at the same time native mobile app.

Easily converted to a native mobile app.
• Combined with PhoneGap.
• Wrapped with WinJS on Windows 8

  Richard Mo                               V                                October 27, 2012
Benefits


             RIA = Drupal + HTML5+CSS3+JS

Richard Mo       V                     October 27, 2012
BENEFITS                                          RIA = Drupal + HTML5+CSS3+JS


1.    Serves as a good separation between       4. Web Developers do not need to learn
      front-end and back-end development.          a new programming language.

2. Both the front-end and back-end is           5. Saves a fair amount of resources and
   versatile and flexible.                         bandwidth.

3. HTML, CSS, and JS is the easiest way         6. Cross-platform compatible and easy
   to implement a UI.                              to maintain.


     Richard Mo                             V                                  October 27, 2012
Showtime!


              RIA = Drupal + Sproutcore

Richard Mo     V                     October 27, 2012
SHOWTIME!


What did I use…

   Client side                                Server side
   •   Sproutcore – HTML5, CSS3, and JS       •   Latest Drupal 7
                                              •   Services 3




 Richard Mo                               V                         October 27, 2012
Conclusion!
             Our Answer to The Problem.




Richard Mo       V                 October 27, 2012
CONCLUSION!




• Mobile is the trend right now!                  • HTML5+CSS3+JS is the easiest method to
                                                    build an impressive UI.
• Hybrid design is geared toward Mobile and
  enhance UX for Desktop.                         • UI behaves like a native application and can
                                                    be deployed as a native mobile app.
• Drupal satisfies all content management
  needs.                                          • Cross-platform compatible.

• Drupal can be converted to JSON REST
  server easily.

   Richard Mo                                 V                                        October 27, 2012
Questions?
             Are we all clear?




Richard Mo       V               October 27, 2012
CANADIAN HEADQUARTERS          UNITED STATES OFFICE          UNITED KINGDOM OFFICE      www.appnovation.com
                 152 West Hastings Street       3414 Peachtree Road, #1600    1 Bell Street, Berkshire   info@appnovation.com
                 Vancouver BC, V6B 1G8          Atlanta Georgia, 30326-1164   United Kingdom, SL6 1BU




        Thank You For Your Participation!

                          Richard Mo
                  richardm@appnovation.com




Richard Mo                                  V                                                            October 27, 2012

Weitere ähnliche Inhalte

Was ist angesagt?

IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...John Head
 
Webinar: Windows Server 2003 End of Support
Webinar: Windows Server 2003 End of SupportWebinar: Windows Server 2003 End of Support
Webinar: Windows Server 2003 End of SupportZynstra
 
SoftTech Corporate Presentation
SoftTech Corporate PresentationSoftTech Corporate Presentation
SoftTech Corporate PresentationSoftTech Engineers
 
Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User InterfacesPedro J. Molina
 
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudCloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudDavid Pallmann
 
Share point 2013 webinar november 2012
Share point 2013 webinar november 2012Share point 2013 webinar november 2012
Share point 2013 webinar november 2012Sentri
 
SharePoint 2013 Unveiled webinar 1.24.13
SharePoint 2013 Unveiled webinar 1.24.13SharePoint 2013 Unveiled webinar 1.24.13
SharePoint 2013 Unveiled webinar 1.24.13Sentri
 
Share point 2013 unveiled
Share point 2013 unveiledShare point 2013 unveiled
Share point 2013 unveiledSentri
 
Microsoft Lync 2013 preview
Microsoft Lync 2013 previewMicrosoft Lync 2013 preview
Microsoft Lync 2013 previewSentri
 
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...AIP Foundation
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
 
Geospatial Ontologies and GeoSPARQL Services
Geospatial Ontologies and GeoSPARQL ServicesGeospatial Ontologies and GeoSPARQL Services
Geospatial Ontologies and GeoSPARQL ServicesStephane Fellah
 
Ai Brain Docs Solution Oct 2012
Ai Brain Docs Solution Oct 2012Ai Brain Docs Solution Oct 2012
Ai Brain Docs Solution Oct 2012tom_marsh
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 

Was ist angesagt? (14)

IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
 
Webinar: Windows Server 2003 End of Support
Webinar: Windows Server 2003 End of SupportWebinar: Windows Server 2003 End of Support
Webinar: Windows Server 2003 End of Support
 
SoftTech Corporate Presentation
SoftTech Corporate PresentationSoftTech Corporate Presentation
SoftTech Corporate Presentation
 
Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User Interfaces
 
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudCloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
 
Share point 2013 webinar november 2012
Share point 2013 webinar november 2012Share point 2013 webinar november 2012
Share point 2013 webinar november 2012
 
SharePoint 2013 Unveiled webinar 1.24.13
SharePoint 2013 Unveiled webinar 1.24.13SharePoint 2013 Unveiled webinar 1.24.13
SharePoint 2013 Unveiled webinar 1.24.13
 
Share point 2013 unveiled
Share point 2013 unveiledShare point 2013 unveiled
Share point 2013 unveiled
 
Microsoft Lync 2013 preview
Microsoft Lync 2013 previewMicrosoft Lync 2013 preview
Microsoft Lync 2013 preview
 
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
IBM Mobile Foundation POT - Overview of cast iron hypervisor edition presenta...
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
Geospatial Ontologies and GeoSPARQL Services
Geospatial Ontologies and GeoSPARQL ServicesGeospatial Ontologies and GeoSPARQL Services
Geospatial Ontologies and GeoSPARQL Services
 
Ai Brain Docs Solution Oct 2012
Ai Brain Docs Solution Oct 2012Ai Brain Docs Solution Oct 2012
Ai Brain Docs Solution Oct 2012
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 

Ähnlich wie Drupal + HTML5 + CSS3 + JS = Rich Internet Application

INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...Heiko Voigt
 
David Edson CV Abridged
David Edson CV AbridgedDavid Edson CV Abridged
David Edson CV AbridgedDavid Edson
 
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementInside Analysis
 
Open Saas brings freedom to the Cloud
Open Saas brings freedom to the Cloud Open Saas brings freedom to the Cloud
Open Saas brings freedom to the Cloud Cyril Reinhard
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesRyan Koop
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloudCamp Chicago
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Paris Android User Group
 
NuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community EditionNuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community EditionNuoDB
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server RenderingDavid Amend
 
Rapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsRapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsJesse Cravens
 
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...Jesse Cravens
 
Get Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookGet Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookBinesh Gummadi
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed? Dev_Events
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile AppMobio Solutions
 
Technology Trends 2013-2014 at HUI
Technology Trends 2013-2014 at HUITechnology Trends 2013-2014 at HUI
Technology Trends 2013-2014 at HUIKMS Technology
 
Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debtifnu bima
 
Joe Emison - 10X Product Development
Joe Emison - 10X Product DevelopmentJoe Emison - 10X Product Development
Joe Emison - 10X Product DevelopmentServerlessConf
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.jsNodejsFoundation
 
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012GoGrid Cloud Hosting
 

Ähnlich wie Drupal + HTML5 + CSS3 + JS = Rich Internet Application (20)

INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 
David Edson CV Abridged
David Edson CV AbridgedDavid Edson CV Abridged
David Edson CV Abridged
 
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
 
Open Saas brings freedom to the Cloud
Open Saas brings freedom to the Cloud Open Saas brings freedom to the Cloud
Open Saas brings freedom to the Cloud
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 Slides
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentations
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013
 
NuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community EditionNuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community Edition
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server Rendering
 
Rapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsRapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.js
 
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
 
Get Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookGet Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on Facebook
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
 
Technology Trends 2013-2014 at HUI
Technology Trends 2013-2014 at HUITechnology Trends 2013-2014 at HUI
Technology Trends 2013-2014 at HUI
 
Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debt
 
Joe Emison - 10X Product Development
Joe Emison - 10X Product DevelopmentJoe Emison - 10X Product Development
Joe Emison - 10X Product Development
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
 
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
 

Mehr von Appnovation Technologies

Using Open Technologies to Enable Digital Transformation in the Enterprise
Using Open Technologies to Enable Digital Transformation in the EnterpriseUsing Open Technologies to Enable Digital Transformation in the Enterprise
Using Open Technologies to Enable Digital Transformation in the EnterpriseAppnovation Technologies
 
O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...
O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...
O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...Appnovation Technologies
 
Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...
Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...
Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...Appnovation Technologies
 
Creating Business Agility and Connectivity using Open Technologies
Creating Business Agility and Connectivity using Open TechnologiesCreating Business Agility and Connectivity using Open Technologies
Creating Business Agility and Connectivity using Open TechnologiesAppnovation Technologies
 
Agile Sourcing for Open Source Web Development
Agile Sourcing for Open Source Web DevelopmentAgile Sourcing for Open Source Web Development
Agile Sourcing for Open Source Web DevelopmentAppnovation Technologies
 
OS Accelerate NYC - Media & Entertainment 06/11/15
OS Accelerate NYC - Media & Entertainment 06/11/15OS Accelerate NYC - Media & Entertainment 06/11/15
OS Accelerate NYC - Media & Entertainment 06/11/15Appnovation Technologies
 
osCaddie Drupal/Alfresco Integration Technical Update
osCaddie Drupal/Alfresco Integration Technical UpdateosCaddie Drupal/Alfresco Integration Technical Update
osCaddie Drupal/Alfresco Integration Technical UpdateAppnovation Technologies
 
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014Appnovation Technologies
 
The Power of HTML5: 15 reasons your business should be using HTML5 for web an...
The Power of HTML5: 15 reasons your business should be using HTML5 for web an...The Power of HTML5: 15 reasons your business should be using HTML5 for web an...
The Power of HTML5: 15 reasons your business should be using HTML5 for web an...Appnovation Technologies
 

Mehr von Appnovation Technologies (20)

Using Open Technologies to Enable Digital Transformation in the Enterprise
Using Open Technologies to Enable Digital Transformation in the EnterpriseUsing Open Technologies to Enable Digital Transformation in the Enterprise
Using Open Technologies to Enable Digital Transformation in the Enterprise
 
O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...
O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...
O2E Brands Case Study: Managing Technical Debt as part of a proactive IT heal...
 
Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...
Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...
Hurry Up and Wait! Leveraging Open Source to Fuel Sutter’s HIT Innovation Ple...
 
Creating Business Agility and Connectivity using Open Technologies
Creating Business Agility and Connectivity using Open TechnologiesCreating Business Agility and Connectivity using Open Technologies
Creating Business Agility and Connectivity using Open Technologies
 
Agile Sourcing for Open Source Web Development
Agile Sourcing for Open Source Web DevelopmentAgile Sourcing for Open Source Web Development
Agile Sourcing for Open Source Web Development
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
OS Accelerate NYC - Media & Entertainment 06/11/15
OS Accelerate NYC - Media & Entertainment 06/11/15OS Accelerate NYC - Media & Entertainment 06/11/15
OS Accelerate NYC - Media & Entertainment 06/11/15
 
osCaddie Drupal/Alfresco Integration Technical Update
osCaddie Drupal/Alfresco Integration Technical UpdateosCaddie Drupal/Alfresco Integration Technical Update
osCaddie Drupal/Alfresco Integration Technical Update
 
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
 
You've Decided to Use HTML5. Now What?
You've Decided to Use HTML5. Now What?You've Decided to Use HTML5. Now What?
You've Decided to Use HTML5. Now What?
 
The Power of HTML5: 15 reasons your business should be using HTML5 for web an...
The Power of HTML5: 15 reasons your business should be using HTML5 for web an...The Power of HTML5: 15 reasons your business should be using HTML5 for web an...
The Power of HTML5: 15 reasons your business should be using HTML5 for web an...
 
Lifecycle of a Drupal Project
Lifecycle of a Drupal ProjectLifecycle of a Drupal Project
Lifecycle of a Drupal Project
 
Drupal and HTML5: Playing Well Together
Drupal and HTML5: Playing Well TogetherDrupal and HTML5: Playing Well Together
Drupal and HTML5: Playing Well Together
 
The Basics of Multisiting
The Basics of MultisitingThe Basics of Multisiting
The Basics of Multisiting
 
Appnovation Intro Deck
Appnovation Intro DeckAppnovation Intro Deck
Appnovation Intro Deck
 
Sprout core for governments
Sprout core for governmentsSprout core for governments
Sprout core for governments
 
Sprout core drupal solution
Sprout core drupal solutionSprout core drupal solution
Sprout core drupal solution
 
Sprout core for publishers
Sprout core for publishersSprout core for publishers
Sprout core for publishers
 
Appnovation One Sheet
Appnovation One SheetAppnovation One Sheet
Appnovation One Sheet
 
Alfresco drupal web solution
Alfresco drupal web solutionAlfresco drupal web solution
Alfresco drupal web solution
 

Kürzlich hochgeladen

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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
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!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Drupal + HTML5 + CSS3 + JS = Rich Internet Application

  • 1. CANADIAN HEADQUARTERS UNITED STATES OFFICE UNITED KINGDOM OFFICE www.appnovation.com 152 West Hastings Street 3414 Peachtree Road, #1600 1 Bell Street, Berkshire info@appnovation.com Vancouver BC, V6B 1G8 Atlanta Georgia, 30326-1164 United Kingdom, SL6 1BU DRUPAL + HTML5 + CSS3 + JS = RICH INTERNET APPLICATION Drupalcamp Atlanta 2012 #DcATL Richard Mo richardm@appnovation.com Richard Mo V October 27, 2012
  • 2. DRUPAL + HTML5 + CSS3 + JS = RICH INTERNET APPLICATION 1. Website (CMS) = Drupal 2. UI = HTML5 + CSS3 + JS 3. = Sproutcore 4. RIA = Drupal + HTML5 + CSS3 + JS 5. = Drupal + Sproutcore Richard Mo V October 27, 2012
  • 3. DRUPAL + HTML5 + CSS3 + JS = RICH INTERNET APPLICATION 1. The Problem 2. Traditional vs. Contemporary 3. Go Mobile! 4. Drupal as a powerful engine 5. HTML5+CSS3+JS as a highly interactive UI 6. A brief introduction to Sproutcore 7. Bridging the gaps between CMS & UX 8. Benefits 9. Showtime! 10.Conclusion! Our Answer to The Problem 11.Questions? Richard Mo V October 27, 2012
  • 4. Richard Mo Bachelor of Computing Science, Specialized in Software Engineering & Artificial Intelligence @ Appnovation Drupal Developer Sproutcore Richard Mo V October 27, 2012
  • 5. Appnovation Technologies specializes in the use of leading OPEN-SOURCE TECHNOLOGIES Richard Mo V October 27, 2012
  • 6. The Problem Richard Mo V October 27, 2012
  • 7. THE PROBLEM Make a website cross-browser compatible… • Base style and browser-targeted stylesheets. • Easy, but a lot of work. Then, make website behave and look like a desktop application… • HTML and CSS with AJAX works well in simple application. • Embed a Flash object onto a webpage and build the entire application in Flash. • Problem solved temporarily. Now, make the application work on Android, iOS, and Windows Phone… • Android, iOS and Windows Phone does not support Flash. • Convert the application into native app for each platform. Finally, I need to periodically update the application with new features… • Update iOS, Android, and Windows Phone. Richard Mo V October 27, 2012
  • 8. THE PROBLEM Satisfying all these requirements using our current methodology is inadequate! Platform incompatibility issues. Cost of development is way too high. Maintenance is very expensive. Richard Mo V October 27, 2012
  • 9. Traditional vs. Contemporary Richard Mo V October 27, 2012
  • 10. THIN CLIENT ARCHITECTURE UI / Theme The traditional website. Business Server does all the work, mostly. Logic Server is responsible for sending any DB asset the client asks. Abstraction Browser Client is responsible for rendering the HTML. Database For every page load the client asks the server to send in a new set of HTML. • Server runs through the same process again and again. Assets CLIENT SIDE SERVER SIDE Drupal. Richard Mo V October 27, 2012
  • 11. THICK CLIENT ARCHITECTURE A desktop application. UI / Theme Server stores all data. Assets Client does all the work, mostly. API Business Client has all assets at initial launch. Logic DB Send request to acquire more later, if needed. Abstraction Browser Client responds to user interactions quickly. Very fast and responsive. Feedback is usually provided. Database An online multiplayer game. CLIENT SIDE SERVER SIDE Richard Mo V October 27, 2012
  • 12. CLIENT SIDE SERVER SIDE Assets UI / Theme JSON API DB Local Storage Business Logic Business Logic Abstraction Browser Database HYBRID DESIGN • Generates all markups and handles rendering. • Handles all business logic closely related to data. • Executes all business logic closely related to • Any computation intensive logic should execute display. here. • Any other calculations that can be done here. • Server’s main focus is data management. • Owns a small data store for local manipulation • Response to any client requests for data and • Requests server for data, if needed. additional assets. Richard Mo V October 27, 2012
  • 13. Go Mobile! Mobile first. Desktop second. Richard Mo V October 27, 2012
  • 14. Go Mobile! Mobile is the trend! Mobile network is usually unstable. Processing power continues to Different devices have their own increase. standards and API. Traditional design is inadequate to Hybrid design favors mobile create a website like a native app. devices and benefits desktop users. Richard Mo V October 27, 2012
  • 15. Drupal as a powerful engine Website (CMS) = Drupal Richard Mo V October 27, 2012
  • 16. DRUPAL AS A POWERFUL ENGINE Website (CMS) = Drupal Natively a powerful Content Management System. Internal structure is designed for this job. • Nodes, Taxonomies – Entities A robust framework to build your application. Huge selection of contributed modules at your disposal. • Build your own if nothing works! Richard Mo V October 27, 2012
  • 17. DRUPAL AS A POWERFUL ENGINE Website (CMS) = Drupal We mean to turn Drupal into an engine that drives your application! Drupal is the center for all content management. Extend the core to drive all business logic closely related to data. Processor for any computational intensive logic & calculations. Provide a JSON REST interface for servicing client requests. Drupal 8 is already moving towards this direction! Richard Mo V October 27, 2012
  • 18. HTML5+CSS3+JS as a highly interactive UI UI = HTML5+CSS3+JS Richard Mo V October 27, 2012
  • 19. HTML5+CSS3+JS AS A HIGHLY INTERACTIVE UI UI = HTML5+CSS3+JS HTML5 is the 5th generation of the HTML standard • Adding new elements such as <video>, <audio>, and <canvas>. • JavaScript API such as Local Storage, Drag & Drop, and Cross Document Messaging CSS3 added support for Media Queries, Shape transformations, transitions, and animations JavaScript is the backbone that drives the UI and all browsers support it. • Backbone.JS, Sencha (Ext JS & Touch), and Sproutcore HTML5+CSS3+JS is believed to replace many browser plugins like Flash. Richard Mo V October 27, 2012
  • 20. HTML5+CSS3+JS AS A HIGHLY INTERACTIVE UI UI = HTML5+CSS3+JS Need a UI that is that has desktop-like behavior and cross-platform compatible. • Works on both mobile and desktop all together. • Fancy and responsive. JS, HTML5 and CSS3 is native to all modern browsers and mobile devices. Leave behind Drupal theming engine for generating templates. • Server no longer handles UI. Richard Mo V October 27, 2012
  • 21. HTML5+CSS3+JS AS A HIGHLY INTERACTIVE UI UI = HTML5+CSS3+JS All business logic and calculations closely related to display is moved here. Data is requested from server only when necessary. • UI is still functional on a unstable and slow internet connection. All static HTML display and dynamically generated markup is handled via JavaScript. All required assets are downloaded at initial startup. • Request from server for additional assets. Richard Mo V October 27, 2012
  • 22. Sproutcore A brief introduction UI = Sproutcore Richard Mo V October 27, 2012
  • 23. A BRIEF INTRODUCTION TO SPROUTCORE UI = Sproutcore Open-Source. It’s FREE! Framework providing structure and flow. Model-View-Controller programming paradigm. Supports all HTML5 features. Build JavaScript application comparable to desktop. Quickly builds a UI with minimal coding. Cross-platform compatible: Chrome, Firefox, Internet Explorer, and Safari Richard Mo V October 27, 2012
  • 24. A BRIEF INTRODUCTION TO SPROUTCORE UI = Sproutcore Kobo Instant Reader is built entirely using Sproutcore. Apple iCloud web service is also built using Sproutcore. Richard Mo V October 27, 2012
  • 25. Bridging the Gaps Between CMS & UI RIA = Drupal + HTML5+CSS3+JS Richard Mo V October 27, 2012
  • 26. BRIDGING THE GAPS BETWEEN CMS & UI RIA = Drupal + HTML5+CSS3+JS Out of Box, Drupal provides an admin UI for managing content. • Already does user authentication and profiles management. Drupal can be easily converted to a JSON REST server. • Views or Services module Content managers do not have to worry about making changes to UI to adopt new contents. • Create contents in Drupal and the UI will grab them. • Provided a centralized area to manage contents and users. Richard Mo V October 27, 2012
  • 27. BRIDGING THE GAPS BETWEEN CMS & UI RIA = Drupal + HTML5+CSS3+JS UI has become very flexible in terms of usability and design. • No longer bounded to the restrictions imposed by Drupal theming engine. • Very open-ended yet the whole UI must be built from scratch. Behaves similarly to a desktop application and at the same time native mobile app. Easily converted to a native mobile app. • Combined with PhoneGap. • Wrapped with WinJS on Windows 8 Richard Mo V October 27, 2012
  • 28. Benefits RIA = Drupal + HTML5+CSS3+JS Richard Mo V October 27, 2012
  • 29. BENEFITS RIA = Drupal + HTML5+CSS3+JS 1. Serves as a good separation between 4. Web Developers do not need to learn front-end and back-end development. a new programming language. 2. Both the front-end and back-end is 5. Saves a fair amount of resources and versatile and flexible. bandwidth. 3. HTML, CSS, and JS is the easiest way 6. Cross-platform compatible and easy to implement a UI. to maintain. Richard Mo V October 27, 2012
  • 30. Showtime! RIA = Drupal + Sproutcore Richard Mo V October 27, 2012
  • 31. SHOWTIME! What did I use… Client side Server side • Sproutcore – HTML5, CSS3, and JS • Latest Drupal 7 • Services 3 Richard Mo V October 27, 2012
  • 32. Conclusion! Our Answer to The Problem. Richard Mo V October 27, 2012
  • 33. CONCLUSION! • Mobile is the trend right now! • HTML5+CSS3+JS is the easiest method to build an impressive UI. • Hybrid design is geared toward Mobile and enhance UX for Desktop. • UI behaves like a native application and can be deployed as a native mobile app. • Drupal satisfies all content management needs. • Cross-platform compatible. • Drupal can be converted to JSON REST server easily. Richard Mo V October 27, 2012
  • 34. Questions? Are we all clear? Richard Mo V October 27, 2012
  • 35. CANADIAN HEADQUARTERS UNITED STATES OFFICE UNITED KINGDOM OFFICE www.appnovation.com 152 West Hastings Street 3414 Peachtree Road, #1600 1 Bell Street, Berkshire info@appnovation.com Vancouver BC, V6B 1G8 Atlanta Georgia, 30326-1164 United Kingdom, SL6 1BU Thank You For Your Participation! Richard Mo richardm@appnovation.com Richard Mo V October 27, 2012