SlideShare a Scribd company logo
1 of 35
Download to read offline
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

More Related Content

What's hot

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
 

What's hot (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
 

Similar to 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
 

Similar to 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
 

More from DrupalcampAtlanta2012

More from DrupalcampAtlanta2012 (9)

Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012
Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012
Getting Started with Drupal Services with Randall Kent @ DrupalCamp Atlanta 2012
 
Designing for Content Management Systems
Designing for Content Management SystemsDesigning for Content Management Systems
Designing for Content Management Systems
 
Advanced theming
Advanced themingAdvanced theming
Advanced theming
 
Drupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_printDrupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_print
 
What to do when things go wrong with Drupal
What to do when things go wrong with DrupalWhat to do when things go wrong with Drupal
What to do when things go wrong with Drupal
 
Getting started with Drush
Getting started with DrushGetting started with Drush
Getting started with Drush
 
Talking to Web Services
Talking to Web ServicesTalking to Web Services
Talking to Web Services
 
Drupal Rules!
Drupal Rules!Drupal Rules!
Drupal Rules!
 
Dig into the omega theme
Dig into the omega themeDig into the omega theme
Dig into the omega theme
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

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