Do I really need Server Side Templating?
                    - Jonathan Hoguet, 2015
- jhoguet@gmail.com
- @jhoguet
- Dealer.com
What is?
                        - Server Side Templating?
- Client Side Templating?
- Modern Web App
- Static Web App
- define terms
- more focused... initial html
- runtime generation state to html on the server
- who does..
- transition - hard, ted talks over 9 months ago
Albert Einstein
                        “The more I learn, the more I realize how much I don't know.” 
                        You don't know what you don't know...Do I need Server Side Templating?
                        - this isn't about which client side framework
- this isn't going to include code samples
- this isn't saying you can't or shouldn't use server side templating 
- not everyone is going to agree - but that likely means there is something worth talking about
most passionate about 
                        - web app architecture
- REST
- agile
Experience server side templating
                        - ASP.net WebForms (MCPD)
- ASP.net MVC (early adopter)
- Grails
Experience client side templating
                        - KnockoutJS
- AngularJS
- a lil React / Flux
Experience with less server side templating
                        - MWG eCommerce
- Dealer.com LOB Platform (Line of Business)
lovin-cats.com
                        
                            no code - but you'll appreciate it b/c we'll cover more concepts
                            consider adding some code samples...
                        Of course I need Server Side Templating
                        - I have dynamic content
- I have to authorize my content
- I need my app to be fast
I need Server Side Templating to serve my dynamic content
                    First Cats | Server Side Templating
                        Next Cats | Server Side Templating
                        First Cats | Client Side Templating
                        Next Cats | Client Side Templating
                        I need apis to serve my dynamic content
                    Of course I need Server Side Templating
                        - I have dynamic content
- I have to authorize my content
- I need my app to be fast
I need server side templating to authorize users to sensitive content
                    Cookie Session w/out Server Side Templating
                        - blasphmey
- remember einstein
- what needs protection
- transition - we can do better
OAuth Session w/out Server Side Templating
                        RFC 7519 JSON Web Token
                        - representing claims securely between two parties
JWT Session w/out Server Side Templating
                        I need a token so that my apis can authorize users to my sensitive content
Of course I need Server Side Templating
                        - I have dynamic content
- I have to authorize my content
- I need my app to be fast
I need Server Side Templating so that time to first cat is fast
                    Optimizing Server Side Templating
                        - Optimize initial html down to 300ms (hard / brittle)
- 
flush early (hard)
- Make response cacheable (easy / brittle)
- can't do anything until that html is in the browser
Optimizing Either Way
                        - 
inline critical scripts and styles
- progressively load secondary content (async ui)
- progressively cache bust
- pre-fetch
- go through slide fast
- not relevant until we have the html in the browser
the numbers...
                        - original intent / research
- Brett Slatikin, Rant
Brett Slatkin, Google
                        Jan 2015
                        “...if your first load is less than 1,000 cats of complexity, client-side rendering is just as fast as server-side rendering on desktop and mobile...”  
                    But what about more than 1k cats
                        Server: first paint is 3x faster (10K cats)
                        Client: last paint is 2x faster (10K cats)
                        in one JSON call on one call stack
                        
                            see http://www.onebigfluke.com/2015/01/experimentally-verified-why-client-side.html
                            see also http://blog.alexmaccaw.com/time-to-first-tweet
                        But users don't have hot caches...
                        Chrome Team 2012: median user has a 45% cache hit rate
                        70% do not have full cache
                        
                        
                            don't overlook the value of intermediate caching
                            do users have hot caches (yes according to the chrome team) [source](https://plus.google.com/+WilliamChanPanda/posts/XRekvZgdnBb)
                        - 70% of users do not have full caches (so it isn't usually overflown) [source](https://plus.google.com/+WilliamChanPanda/posts/XRekvZgdnBb)
                        But mobile...
                        - how much can you possibly need to render?
- that I can touch with my finger
- that is more complex than minecraft
- which works on 4+ year old phones (2011)
Brett Slatkin tested on mobile...
                            couldn't find any good data ... cop outI can make client side fast and I need to anyway
                    
                        Of course I need Server Side Templating
                        - I have dynamic content
- I have to authorize my content
- I need my app to be fast
Of course I need Server Side Templating- I have dynamic content
- I have to authorize my content
- I need my app to be fast
Building moderns web apps is simpler and easier  without Server Side Templating
                    html that is rendered in one language, runtime, and host
                            is simpler than
                            
                            html that is rendered by  multiple languages, multiple runtimes, and multiple hosts
                        
                            client side templating
                            is simpler than
                            
                            client side templating and server side templating    
                        
                        This is a good thing
                        - easier to host html, css, js
- 
cheaper to host
- easier to release
- easier to hire for html, css, js devs
- can use the right framework instead of THE framework
Now What?
                        - Use less server side templating
- Try out a SaaS 
- Come chat with me about SPAR at Dealer.com
 
		
					Do I really need Server Side Templating?
                    
                        Jonathan Hoguet, 2015
                        jhoguet@gmail.com
                        @jhoguet
                        Dealer.com
                    
                    
thanks
excited
journey