simplicity - develop modern web apps with tiny frameworks and tools
DESCRIPTION
You have learned for years how to do big enterprise applications with big enterprise frameworks. Sometimes it was good, but sometimes it was over-engineered, rarely fun. It changed a lot a few years ago with Asp.Net Mvc and with a lot of impulse of the community. But today, the web moves faster and faster, and people want tools that do the job in a simple way and that just works. Today we have these tools in .Net and they grow every day for our pleasure. Get an overview of why you should care about Simplicity and how you can build great web apps in a simpler way with small frameworks and tools "that just work" (with pieces of NancyFx, SimpleData, RavenDb, Nuget, jQuery, Markdown, Bootstrapper, ...) Slides of my #Web.Net conference 2012 in Milano cheers!TRANSCRIPT
Simplicity
Compose modern web apps with efficient tiny frameworks & tools
Rui Carvalho/@rhwy
Thanks to the sponsors
About
@rhwy on twitter, githubDevelopment, architecture, Consulting, speak, teach
http://www.rui.frhttp://www.codedistillers.com
Networks
Write
Work?
Web
FrameworksToolsPatterns
Get the Control back!
Less Pain&&
Background
“Should I really care?”
The nature of the Web
“ how desktop techniques doesn’t fit interconnected application
needs ”
The web is documents…
The web is not objects
The DomainProblem
“ how humans need to talk more”
Customer needs ‘Foo’
…You think schema ‘Bar’
…Don’t think schema too hard…
Over engineered?
Hexagonal, Onion?
ConcreteApplication?
I misunderstood
“Architecture is about an intent, it’s not about a technical framework”
Fail
Node
So, what is
Responsive
Cross Media
Patterns of ModernWeb Applications
SPA*
*Single page application(ie : gmail)
SPA
SPAA
REST
“Your API Is your APP”
REST
Tools!(for what?)
Get the shell back!
CurlEverything you need to test your app is here!
-X [GET|POST…]-I (include headers)-d key=value
NugetPackage management is essential
Enterprise grade => build your own
Quite multi-platform
Nuget curl http://nuget.org/nuget.exe -L -k -o nuget.exe
#!/bin/shPATH=/usr/local/bin:$PATHmono --runtime=v4.0 /usr/local/bin/NuGet.exe $*
(for Mac lovers)
Chocolatey@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/psChocInstall'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
(nuget powered)
> Cinst ruby
See what append
(live)
Chrome dev tools
Editors
Chose a good tool also for the client side!
Webstorm
Online web editors
C9.io
Jsfiddle.com Jsbin.net Plnkr.co Codepen.io
Frameworks!
Frameworks ?
Frameworks ?
OSS ?oss projects -most of the time-
fits real user needs
tiny oss projects usually fit one need, but do it well.
jQuery
jQuery
Angular
Html enhanced for web apps!
Angular
Less css
dotLess for .Net
Nancy fx
RavenDB
Simple.Data
SignalR
(Socket.io like framework for .Net)
So what?
“if you don’t love it, it gonna fail!”
“stay foolish, stay hungry”
Jobs
Get more Fun
Please rate this sessionScan the code, go online, rate this session
All sketches are by me – with the help of the fabulous iPad application
Paper by 53 – and can be reused under The creative commons licence