simplicity - develop modern web apps with tiny frameworks and tools

Post on 10-May-2015

2.541 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

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

top related