SlideShare a Scribd company logo
Brunch	
  


Jan	
  Monschke	
  
Student	
  /	
  Freelance	
  developer	
  
@thede8one	
  
github.com/janmonschke	
  
Evolu@on	
  of	
  client-­‐side	
  
                              development	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
„Oh	
  no,	
  you‘re	
  using	
  
                             JavaScript?	
  It‘s	
  evil!!“	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
„Fuck	
  Yeah,	
  AJAX!“	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
„JavaScript	
  ALL	
  THE	
  WAY“	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
•  Lightweight	
  library	
  to	
  help	
  structuring	
  your	
  code	
  

       •  MVC-­‐ish	
  principles	
  

       •  Works	
  out-­‐of-­‐the-­‐box	
  with	
  all	
  REST-­‐backends	
  *	
  

       •  Backbone.js	
  +	
  CoffeeScript	
  =	
  <3	
  
       	
  
       •  Great	
  community	
  (support	
  &	
  plug-­‐ins)	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
•  Examples	
  are	
  mostly	
  wricen	
  in	
  single	
  files	
  -­‐>	
  does	
  NOT	
  work	
  
          for	
  complex	
  applica@ons	
  

       •  You	
  need	
  to	
  setup	
  your	
  own	
  directory	
  structure	
  

       	
                                               (...)	
  
                        <script	
  src="src/models/unicorn.js"></script>	
  
                        <script	
  src="src/models/user.js"></script>	
  
                        <script	
  src="src/controllers/user_controller.js"></script>	
  
                        <script	
  src="src/controllers/main_controller.js"></script>	
  
                        <script	
  src="src/views/user.js"></script>	
  	
  	
  
                        <script	
  src="src/views/user_list.js"></script>	
  
                        <script	
  src="src/main.js"></script>	
  
                                                                      (...)	
  


Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
•  Templates	
  in	
  index.html,	
  srsly?	
  
       	
    <script	
  type="text/template"	
  id="stats-­‐template">	
  
       	
    	
  	
  	
  	
  	
  	
  <%	
  if	
  (total)	
  {	
  %>	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  <span	
  class="todo-­‐count">	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <span	
  class="number"><%=	
  remaining	
  %></span>	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <span	
  class="word"><%=	
  remaining	
  ==	
  1	
  ?	
  'item'	
  :	
  'items'	
  %></span>	
  le8.	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  </span>	
  
                    	
  	
  	
  	
  	
  	
  <%	
  }	
  %>	
  
                    	
  	
  	
  	
  	
  	
  <%	
  if	
  (done)	
  {	
  %>	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  <span	
  class="todo-­‐clear">	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <a	
  href="#">	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Clear	
  <span	
  class="number-­‐done"><%=	
  done	
  %></span>	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  completed	
  <span	
  class="word-­‐done"><%=	
  done	
  ==	
  1	
  ?	
  'item'	
  :	
  'items'	
  %></span>	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  </a>	
  
                    	
  	
  	
  	
  	
  	
  	
  	
  </span>	
  
                    	
  	
  	
  	
  	
  	
  <%	
  }	
  %>	
  
                    	
  	
  	
  	
  </script>	
  


Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch

       •  (pre-­‐)Compiles	
  all	
  files	
  (Code	
  +	
  Templates	
  +	
  Styles)	
  

       •  Assembles	
  them	
  into	
  one	
  single	
  file	
  

       •  Watches	
  for	
  file-­‐changes	
  

       •  Provides	
  a	
  proven	
  directory	
  structure	
  
           •  But	
  works	
  with	
  any	
  

       •  Powerful	
  plug-­‐in	
  system	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch



                                  Backend-­‐agnos@c	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch

             npm	
  install	
  –g	
  git@github.com:brunch/brunch.git	
  
                                              	
  
                          brunch	
  new	
  <project-­‐name>	
  
                                              	
  
                                         brunch	
  build	
  
                                              	
  
                                brunch	
  watch	
  (-­‐-­‐server)	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch


                                                  Clean	
  directory	
  structure	
  
                                                  	
  
                                                  /brunch	
  does	
  not	
  get	
  in	
  the	
  way	
  
                                                  	
  
                                                  config.coffee	
  –	
  plugin-­‐ins,	
  vendor-­‐files	
  
                                                  	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch




            Let‘s	
  dive	
  into	
  some	
  code!	
  
                                  hcp://brunch-­‐colors.com	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch




                                      Who‘s	
  using	
  it?	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch




              hcp://blossom.io	
  -­‐	
  Lean	
  project	
  management!	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch




              hcp://salon.io	
  -­‐	
  Crea@ve	
  proqolios	
  	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch



       I	
  probably	
  forgot	
  a	
  ton	
  of	
  things	
  ;)	
  	
  
                                	
  
       Find	
  more	
  info	
  on	
  hcp://brunch.io	
  	
  



Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  
Brunch




                                             Any	
  ques@ons?	
  




Client-­‐Side	
  development	
  with	
  Brunch	
  –	
  BerlinJS	
  

More Related Content

PDF
Html5 tx - preso
PDF
Simple Web Services with PHP
PDF
Handle the error
PDF
Crowds and Creativity
PDF
AgileMeetup_2016-03-10_KH
PDF
101015 BluePrint Delft presentation Board of Dire
PPTX
2010 11 publishing and copyright in hci
Html5 tx - preso
Simple Web Services with PHP
Handle the error
Crowds and Creativity
AgileMeetup_2016-03-10_KH
101015 BluePrint Delft presentation Board of Dire
2010 11 publishing and copyright in hci

Viewers also liked (12)

PDF
Banking In The Survivor's World
PDF
Gruppo Bassilichi @ Branch Transformation 2014
PDF
Managing the Digital Branch
PPS
Branch Transformation Slide Show
PDF
10 Tips to Help You Navigate the Funding Process
PDF
Building the Digital Branch: Designing Effective Library Websites
PDF
Bank world conference diebold branch transformation presentation_011813
PPTX
Inovation of motorola inc
PDF
Branch Bank of the Future – Transforming to Stay Relevant
PDF
Bank Branch Network Reorganization and Optimization proram
PDF
Designing the Digital Branch: it's Everyone's Job
PDF
Branch of the future
Banking In The Survivor's World
Gruppo Bassilichi @ Branch Transformation 2014
Managing the Digital Branch
Branch Transformation Slide Show
10 Tips to Help You Navigate the Funding Process
Building the Digital Branch: Designing Effective Library Websites
Bank world conference diebold branch transformation presentation_011813
Inovation of motorola inc
Branch Bank of the Future – Transforming to Stay Relevant
Bank Branch Network Reorganization and Optimization proram
Designing the Digital Branch: it's Everyone's Job
Branch of the future
Ad

Similar to Client Side Development with Brunch (20)

PPTX
web development.pptx
PPTX
Full-Stack-Presentation-Slide(Longsaar_Francis).pptx
PDF
Exploring pwa for shopware
PDF
Build Your Own Website with HTML/CSS
PDF
The What & Why of Pattern Lab
PDF
BenScharbach_CorpResume_03202016
PDF
Level Up Your Coding Skills: A Comprehensive Guide to Full Stack Development
PDF
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
PDF
Configuring in the Browser, Really!
PDF
From Backbone to Ember and Back(bone) Again
PPTX
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
PPTX
Building SPA’s (Single Page App) with Backbone.js
PDF
Frontend development of the (current) future
PDF
Forced Evolution: Shopify's Journey to Kubernetes
PDF
Continuous API Strategies for Integrated Platforms
PDF
PDF
next-230524050805-d1e22a49.pdferewrewrewrewr
PPTX
Progressive Web Applications - The Next Gen Web Technologies
DOCX
Nguyen Xuan Hoang
web development.pptx
Full-Stack-Presentation-Slide(Longsaar_Francis).pptx
Exploring pwa for shopware
Build Your Own Website with HTML/CSS
The What & Why of Pattern Lab
BenScharbach_CorpResume_03202016
Level Up Your Coding Skills: A Comprehensive Guide to Full Stack Development
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Configuring in the Browser, Really!
From Backbone to Ember and Back(bone) Again
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
Building SPA’s (Single Page App) with Backbone.js
Frontend development of the (current) future
Forced Evolution: Shopify's Journey to Kubernetes
Continuous API Strategies for Integrated Platforms
next-230524050805-d1e22a49.pdferewrewrewrewr
Progressive Web Applications - The Next Gen Web Technologies
Nguyen Xuan Hoang
Ad

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
1. Introduction to Computer Programming.pptx
PPT
Teaching material agriculture food technology
PPTX
Machine Learning_overview_presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
SOPHOS-XG Firewall Administrator PPT.pptx
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25-Week II
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectral efficient network and resource selection model in 5G networks
1. Introduction to Computer Programming.pptx
Teaching material agriculture food technology
Machine Learning_overview_presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Getting Started with Data Integration: FME Form 101
Per capita expenditure prediction using model stacking based on satellite ima...
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
Digital-Transformation-Roadmap-for-Companies.pptx

Client Side Development with Brunch

  • 1. Brunch   Jan  Monschke   Student  /  Freelance  developer   @thede8one   github.com/janmonschke  
  • 2. Evolu@on  of  client-­‐side   development   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 3. „Oh  no,  you‘re  using   JavaScript?  It‘s  evil!!“   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 4. „Fuck  Yeah,  AJAX!“   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 5. „JavaScript  ALL  THE  WAY“   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 6. •  Lightweight  library  to  help  structuring  your  code   •  MVC-­‐ish  principles   •  Works  out-­‐of-­‐the-­‐box  with  all  REST-­‐backends  *   •  Backbone.js  +  CoffeeScript  =  <3     •  Great  community  (support  &  plug-­‐ins)   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 7. •  Examples  are  mostly  wricen  in  single  files  -­‐>  does  NOT  work   for  complex  applica@ons   •  You  need  to  setup  your  own  directory  structure     (...)   <script  src="src/models/unicorn.js"></script>   <script  src="src/models/user.js"></script>   <script  src="src/controllers/user_controller.js"></script>   <script  src="src/controllers/main_controller.js"></script>   <script  src="src/views/user.js"></script>       <script  src="src/views/user_list.js"></script>   <script  src="src/main.js"></script>   (...)   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 8. •  Templates  in  index.html,  srsly?     <script  type="text/template"  id="stats-­‐template">                <%  if  (total)  {  %>                  <span  class="todo-­‐count">                      <span  class="number"><%=  remaining  %></span>                      <span  class="word"><%=  remaining  ==  1  ?  'item'  :  'items'  %></span>  le8.                  </span>              <%  }  %>              <%  if  (done)  {  %>                  <span  class="todo-­‐clear">                      <a  href="#">                          Clear  <span  class="number-­‐done"><%=  done  %></span>                          completed  <span  class="word-­‐done"><%=  done  ==  1  ?  'item'  :  'items'  %></span>                      </a>                  </span>              <%  }  %>          </script>   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 9. Brunch Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 10. Brunch •  (pre-­‐)Compiles  all  files  (Code  +  Templates  +  Styles)   •  Assembles  them  into  one  single  file   •  Watches  for  file-­‐changes   •  Provides  a  proven  directory  structure   •  But  works  with  any   •  Powerful  plug-­‐in  system   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 11. Brunch Backend-­‐agnos@c   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 12. Brunch npm  install  –g  git@github.com:brunch/brunch.git     brunch  new  <project-­‐name>     brunch  build     brunch  watch  (-­‐-­‐server)   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 13. Brunch Clean  directory  structure     /brunch  does  not  get  in  the  way     config.coffee  –  plugin-­‐ins,  vendor-­‐files     Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 14. Brunch Let‘s  dive  into  some  code!   hcp://brunch-­‐colors.com   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 15. Brunch Who‘s  using  it?   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 16. Brunch hcp://blossom.io  -­‐  Lean  project  management!   Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 17. Brunch hcp://salon.io  -­‐  Crea@ve  proqolios     Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 18. Brunch I  probably  forgot  a  ton  of  things  ;)       Find  more  info  on  hcp://brunch.io     Client-­‐Side  development  with  Brunch  –  BerlinJS  
  • 19. Brunch Any  ques@ons?   Client-­‐Side  development  with  Brunch  –  BerlinJS