SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
a.k,a the Bentobox method to
   understanding web apps
What have we learned so far?
The difference between a web site
and a web application
           application.

The difference between a
programming language and a web
framework.

Copy-paste rules. Google everything!
  py p               g       y    g
Picture by
http://www.flickr.com/photos/gamene/
Why Bento?
• You need a balanced mix of things.
• It’s a puzzle - putting everything
  together in the box.
• “Ekiben“ - content which is
  arranged in the most efficient,
  graceful manner. The bento is
  presented in a simple, beautiful,
  balanced way. Nothing lacking.
  Nothing superfluous. Not decorated,
  but
  b t wonderfully d i
           d f ll designed. d
The Bento wireframe


 STORAGE         THE LOGIC (BACK‐END)
(BACK‐END)




   INFRA
(BACK END)
(BACK‐END)   THE STRUCTURE AND STYLE (THE 
                      FRONT‐END
In practice
                               practice…
                                 THE LOGIC (THE BACK-END)
                                                BACK END)

                                  RUBY ON RAILS, DJANGO, CAKEPHP, 
                                           JETTY , LIFT….
                                           JETTY , LIFT….
                  MYSQL, 
                 MONGODB                RUBY, PYTHON, PHP, SCALA 
        K-END)




                                                               XML
        AGE




                 UNICORN         HTML            CSS         JAVASCRIPT
THE STORA

(THE BACK
   NFRA




                                                               DOM
                                                 AJAX
& IN
   E




                     THE STRUCTURE & STYLE (THE FRONT-END)
ETSY
         “We use a number of different programming languages
         (including Matlab!) but are primarily a PHP shop. We
                                                     shop
         have a number of databases, some of which are
         MySQL and some of which are PostgreSQL. “




                                   PHP + Matlab
        MySQL 0 
       PostresSQL
        ost esSQ




                                                    XML
         INFRA           HTML         CSS         JAVASCRIPT

                                                    DOM
                                      AJAX
4SQ
        “Server code is written in scala running on the lift web
        framework using jetty for a webserver. We front
        everything with nginx, and use HAProxy in between.
        MongoDB handles most of our data storage needs
        (though a bit hasn't been migrated off PostgreSQL yet).



                                         Scala

       MongoDB and 
                                         Lift
        PostresSQL




                                                      XML
      Nginx + HAProxy      HTML         CSS         JAVASCRIPT

                                                      DOM
                                        AJAX
R
#1 HTML/CSS
#2 JQUERY
#3 Unicorn
HTML / CSS

                RUBY ON RAILS, DJANGO, CAKEPHP, 
                         JETTY , LIFT….
                         JETTY , LIFT….
 MYSQL, 
MONGODB               RUBY, PYTHON, PHP, SCALA 




                                             XML
UNICORN        HTML            CSS         JAVASCRIPT

                                             DOM
                               AJAX
jQuery

              RUBY ON RAILS, DJANGO, CAKEPHP, 
                       JETTY , LIFT….
                       JETTY , LIFT….
 MYSQL, 
MONGODB             RUBY, PYTHON, PHP, SCALA 




                                           XML
UNICORN      HTML            CSS         JAVASCRIPT

                                           DOM
                             AJAX
Unicorn

              RUBY ON RAILS, DJANGO, CAKEPHP, 
                       JETTY , LIFT….
                       JETTY , LIFT….
 MYSQL, 
MONGODB             RUBY, PYTHON, PHP, SCALA 




                                           XML
UNICORN      HTML            CSS         JAVASCRIPT

                                           DOM
                             AJAX
R PHP
 #1                          #6 Apache
#2 SaaS                      #7 CSS
#3 RoR                       #8 Django
                                  j g
#4 HTML                      #9 MySQL
#5 M
   MongoDB
        DB                   #10 nginx
                                   i
Rules: Figure out the term and place it on the
bentobox in the right place..
There might be false friends and doubles.
Googling allowed!
You have five minutes
Yo ha e fi e min tes – wrong ans ers will be
                          rong answers ill
removed, the team with most post-its wins!
Game on!
More questions? Shoot!
     q

Weitere ähnliche Inhalte

Ähnlich wie Bentobox model for understanding technology stacks

HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAXWan Leung Wong
 
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General OverviewWorkshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General OverviewVisual Engineering
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...Alexandre Morgaut
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?jbandi
 
Ajax Introduction Presentation
Ajax   Introduction   PresentationAjax   Introduction   Presentation
Ajax Introduction Presentationthinkphp
 
JavaScript on the server - Node.js
JavaScript on the server - Node.jsJavaScript on the server - Node.js
JavaScript on the server - Node.jsRody Middelkoop
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Alexandre Morgaut
 
Drupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQueryDrupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQueryMatt Butcher
 
State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012Alexandre Morgaut
 
Bentobox exercise by Rails Girls
Bentobox exercise by Rails Girls Bentobox exercise by Rails Girls
Bentobox exercise by Rails Girls Rails Girls Warsaw
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSAlexandre Morgaut
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013Alexandre Morgaut
 
Michael Chen Mix Language Development
Michael Chen   Mix Language DevelopmentMichael Chen   Mix Language Development
Michael Chen Mix Language DevelopmentMichael Chen
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Alexandre Morgaut
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracketjnewmanux
 
Declarative and standards-based web application development with the Ample SDK
Declarative and standards-based web application development with the Ample SDKDeclarative and standards-based web application development with the Ample SDK
Declarative and standards-based web application development with the Ample SDKBéla Varga
 
State of the art server side java script
State of the art server side java scriptState of the art server side java script
State of the art server side java scriptThibaud Arguillere
 
Post-relational databases: What's wrong with web development?
Post-relational databases: What's wrong with web development?Post-relational databases: What's wrong with web development?
Post-relational databases: What's wrong with web development?Dobrica Pavlinušić
 

Ähnlich wie Bentobox model for understanding technology stacks (20)

HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
 
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General OverviewWorkshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 
Ajax Introduction Presentation
Ajax   Introduction   PresentationAjax   Introduction   Presentation
Ajax Introduction Presentation
 
JavaScript on the server - Node.js
JavaScript on the server - Node.jsJavaScript on the server - Node.js
JavaScript on the server - Node.js
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
 
Drupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQueryDrupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQuery
 
State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012
 
Bentobox exercise by Rails Girls
Bentobox exercise by Rails Girls Bentobox exercise by Rails Girls
Bentobox exercise by Rails Girls
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJS
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
Michael Chen Mix Language Development
Michael Chen   Mix Language DevelopmentMichael Chen   Mix Language Development
Michael Chen Mix Language Development
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
 
DSLs in JavaScript
DSLs in JavaScriptDSLs in JavaScript
DSLs in JavaScript
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracket
 
Declarative and standards-based web application development with the Ample SDK
Declarative and standards-based web application development with the Ample SDKDeclarative and standards-based web application development with the Ample SDK
Declarative and standards-based web application development with the Ample SDK
 
State of the art server side java script
State of the art server side java scriptState of the art server side java script
State of the art server side java script
 
Post-relational databases: What's wrong with web development?
Post-relational databases: What's wrong with web development?Post-relational databases: What's wrong with web development?
Post-relational databases: What's wrong with web development?
 

Mehr von Linda Liukas

(tulevaisuuden työn) Tekijät
(tulevaisuuden työn) Tekijät(tulevaisuuden työn) Tekijät
(tulevaisuuden työn) TekijätLinda Liukas
 
Startup Life: the practical guide
Startup Life: the practical guideStartup Life: the practical guide
Startup Life: the practical guideLinda Liukas
 
Rails Girls lessons learned, finnish
Rails Girls lessons learned, finnishRails Girls lessons learned, finnish
Rails Girls lessons learned, finnishLinda Liukas
 
Aaltoes goes Silicon Valley 2010
Aaltoes goes Silicon Valley 2010Aaltoes goes Silicon Valley 2010
Aaltoes goes Silicon Valley 2010Linda Liukas
 
Hack your work. Toolbox for non-profits
Hack your work. Toolbox for non-profitsHack your work. Toolbox for non-profits
Hack your work. Toolbox for non-profitsLinda Liukas
 
Entrepreneurship Summit
Entrepreneurship SummitEntrepreneurship Summit
Entrepreneurship SummitLinda Liukas
 
Aaltoes 2009-2010 Team handbook
Aaltoes 2009-2010 Team handbookAaltoes 2009-2010 Team handbook
Aaltoes 2009-2010 Team handbookLinda Liukas
 

Mehr von Linda Liukas (10)

(tulevaisuuden työn) Tekijät
(tulevaisuuden työn) Tekijät(tulevaisuuden työn) Tekijät
(tulevaisuuden työn) Tekijät
 
Startup Life: the practical guide
Startup Life: the practical guideStartup Life: the practical guide
Startup Life: the practical guide
 
Startuplife
StartuplifeStartuplife
Startuplife
 
Rails Girls lessons learned, finnish
Rails Girls lessons learned, finnishRails Girls lessons learned, finnish
Rails Girls lessons learned, finnish
 
Aaltoes goes Silicon Valley 2010
Aaltoes goes Silicon Valley 2010Aaltoes goes Silicon Valley 2010
Aaltoes goes Silicon Valley 2010
 
Hack your work. Toolbox for non-profits
Hack your work. Toolbox for non-profitsHack your work. Toolbox for non-profits
Hack your work. Toolbox for non-profits
 
Entrepreneurship Summit
Entrepreneurship SummitEntrepreneurship Summit
Entrepreneurship Summit
 
Aaltoes 2009-2010 Team handbook
Aaltoes 2009-2010 Team handbookAaltoes 2009-2010 Team handbook
Aaltoes 2009-2010 Team handbook
 
Garage houserules
Garage houserulesGarage houserules
Garage houserules
 
ME310 Bloom
ME310 BloomME310 Bloom
ME310 Bloom
 

Bentobox model for understanding technology stacks

  • 1. a.k,a the Bentobox method to understanding web apps
  • 2. What have we learned so far?
  • 3. The difference between a web site and a web application application. The difference between a programming language and a web framework. Copy-paste rules. Google everything! py p g y g
  • 5. Why Bento? • You need a balanced mix of things. • It’s a puzzle - putting everything together in the box. • “Ekiben“ - content which is arranged in the most efficient, graceful manner. The bento is presented in a simple, beautiful, balanced way. Nothing lacking. Nothing superfluous. Not decorated, but b t wonderfully d i d f ll designed. d
  • 6. The Bento wireframe STORAGE THE LOGIC (BACK‐END) (BACK‐END) INFRA (BACK END) (BACK‐END) THE STRUCTURE AND STYLE (THE  FRONT‐END
  • 7. In practice practice… THE LOGIC (THE BACK-END) BACK END) RUBY ON RAILS, DJANGO, CAKEPHP,  JETTY , LIFT…. JETTY , LIFT…. MYSQL,  MONGODB RUBY, PYTHON, PHP, SCALA  K-END) XML AGE UNICORN HTML CSS JAVASCRIPT THE STORA (THE BACK NFRA DOM AJAX & IN E THE STRUCTURE & STYLE (THE FRONT-END)
  • 8. ETSY “We use a number of different programming languages (including Matlab!) but are primarily a PHP shop. We shop have a number of databases, some of which are MySQL and some of which are PostgreSQL. “ PHP + Matlab MySQL 0  PostresSQL ost esSQ XML INFRA HTML CSS JAVASCRIPT DOM AJAX
  • 9. 4SQ “Server code is written in scala running on the lift web framework using jetty for a webserver. We front everything with nginx, and use HAProxy in between. MongoDB handles most of our data storage needs (though a bit hasn't been migrated off PostgreSQL yet). Scala MongoDB and  Lift PostresSQL XML Nginx + HAProxy HTML CSS JAVASCRIPT DOM AJAX
  • 11. HTML / CSS RUBY ON RAILS, DJANGO, CAKEPHP,  JETTY , LIFT…. JETTY , LIFT…. MYSQL,  MONGODB RUBY, PYTHON, PHP, SCALA  XML UNICORN HTML CSS JAVASCRIPT DOM AJAX
  • 12. jQuery RUBY ON RAILS, DJANGO, CAKEPHP,  JETTY , LIFT…. JETTY , LIFT…. MYSQL,  MONGODB RUBY, PYTHON, PHP, SCALA  XML UNICORN HTML CSS JAVASCRIPT DOM AJAX
  • 13. Unicorn RUBY ON RAILS, DJANGO, CAKEPHP,  JETTY , LIFT…. JETTY , LIFT…. MYSQL,  MONGODB RUBY, PYTHON, PHP, SCALA  XML UNICORN HTML CSS JAVASCRIPT DOM AJAX
  • 14. R PHP #1 #6 Apache #2 SaaS #7 CSS #3 RoR #8 Django j g #4 HTML #9 MySQL #5 M MongoDB DB #10 nginx i Rules: Figure out the term and place it on the bentobox in the right place.. There might be false friends and doubles. Googling allowed! You have five minutes Yo ha e fi e min tes – wrong ans ers will be rong answers ill removed, the team with most post-its wins!