SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 
SoftTech Corporate Presentation
SoftTech Corporate PresentationSoftTech Corporate Presentation
SoftTech Corporate Presentation
SoftTech Engineers
 
Share point 2013 webinar november 2012
Share point 2013 webinar november 2012Share point 2013 webinar november 2012
Share point 2013 webinar november 2012
Sentri
 
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
 
Ai Brain Docs Solution Oct 2012
Ai Brain Docs Solution Oct 2012Ai Brain Docs Solution Oct 2012
Ai Brain Docs Solution Oct 2012
tom_marsh
 

Tendances (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
 

Similaire à Drupal + HTML5 + CSS3 + JS = Rich Internet Application

David Edson CV Abridged
David Edson CV AbridgedDavid Edson CV Abridged
David Edson CV Abridged
David Edson
 
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
Binesh Gummadi
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 

Similaire à 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
 

Plus de Appnovation Technologies

Plus de 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
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

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