Transcript
Page 1: Simplicity - develop modern web apps with tiny frameworks and tools

Simplicity

Compose modern web apps with efficient tiny frameworks & tools

Rui Carvalho/@rhwy

Page 2: Simplicity - develop modern web apps with tiny frameworks and tools

Thanks to the sponsors

Page 3: Simplicity - develop modern web apps with tiny frameworks and tools

About

@rhwy on twitter, githubDevelopment, architecture, Consulting, speak, teach

http://www.rui.frhttp://www.codedistillers.com

Networks

Write

Work?

Page 4: Simplicity - develop modern web apps with tiny frameworks and tools

Web

FrameworksToolsPatterns

Page 5: Simplicity - develop modern web apps with tiny frameworks and tools

Get the Control back!

Less Pain&&

Page 6: Simplicity - develop modern web apps with tiny frameworks and tools

Background

“Should I really care?”

Page 7: Simplicity - develop modern web apps with tiny frameworks and tools
Page 8: Simplicity - develop modern web apps with tiny frameworks and tools

The nature of the Web

“ how desktop techniques doesn’t fit interconnected application

needs ”

Page 9: Simplicity - develop modern web apps with tiny frameworks and tools

The web is documents…

The web is not objects

Page 10: Simplicity - develop modern web apps with tiny frameworks and tools

The DomainProblem

“ how humans need to talk more”

Page 11: Simplicity - develop modern web apps with tiny frameworks and tools

Customer needs ‘Foo’

Page 12: Simplicity - develop modern web apps with tiny frameworks and tools

…You think schema ‘Bar’

Page 13: Simplicity - develop modern web apps with tiny frameworks and tools

…Don’t think schema too hard…

Page 14: Simplicity - develop modern web apps with tiny frameworks and tools

Over engineered?

Page 15: Simplicity - develop modern web apps with tiny frameworks and tools

Hexagonal, Onion?

Page 16: Simplicity - develop modern web apps with tiny frameworks and tools

ConcreteApplication?

Page 17: Simplicity - develop modern web apps with tiny frameworks and tools

I misunderstood

“Architecture is about an intent, it’s not about a technical framework”

Fail

Page 18: Simplicity - develop modern web apps with tiny frameworks and tools
Page 19: Simplicity - develop modern web apps with tiny frameworks and tools

Node

Page 20: Simplicity - develop modern web apps with tiny frameworks and tools

So, what is

Page 21: Simplicity - develop modern web apps with tiny frameworks and tools

Responsive

Page 22: Simplicity - develop modern web apps with tiny frameworks and tools

Cross Media

Page 23: Simplicity - develop modern web apps with tiny frameworks and tools

Patterns of ModernWeb Applications

Page 24: Simplicity - develop modern web apps with tiny frameworks and tools

SPA*

*Single page application(ie : gmail)

Page 25: Simplicity - develop modern web apps with tiny frameworks and tools

SPA

Page 26: Simplicity - develop modern web apps with tiny frameworks and tools

SPAA

Page 27: Simplicity - develop modern web apps with tiny frameworks and tools

REST

“Your API Is your APP”

Page 28: Simplicity - develop modern web apps with tiny frameworks and tools

REST

Page 29: Simplicity - develop modern web apps with tiny frameworks and tools

Tools!(for what?)

Page 30: Simplicity - develop modern web apps with tiny frameworks and tools

Get the shell back!

Page 31: Simplicity - develop modern web apps with tiny frameworks and tools

CurlEverything you need to test your app is here!

-X [GET|POST…]-I (include headers)-d key=value

Page 32: Simplicity - develop modern web apps with tiny frameworks and tools

NugetPackage management is essential

Enterprise grade => build your own

Quite multi-platform

Page 33: Simplicity - develop modern web apps with tiny frameworks and tools

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)

Page 34: Simplicity - develop modern web apps with tiny frameworks and tools

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

Page 35: Simplicity - develop modern web apps with tiny frameworks and tools

See what append

(live)

Page 36: Simplicity - develop modern web apps with tiny frameworks and tools
Page 37: Simplicity - develop modern web apps with tiny frameworks and tools

Chrome dev tools

Page 38: Simplicity - develop modern web apps with tiny frameworks and tools

Editors

Chose a good tool also for the client side!

Webstorm

Page 39: Simplicity - develop modern web apps with tiny frameworks and tools

Online web editors

C9.io

Jsfiddle.com Jsbin.net Plnkr.co Codepen.io

Page 40: Simplicity - develop modern web apps with tiny frameworks and tools

Frameworks!

Page 41: Simplicity - develop modern web apps with tiny frameworks and tools

Frameworks ?

Page 42: Simplicity - develop modern web apps with tiny frameworks and tools

Frameworks ?

Page 43: Simplicity - develop modern web apps with tiny frameworks and tools

OSS ?oss projects -most of the time-

fits real user needs

tiny oss projects usually fit one need, but do it well.

Page 44: Simplicity - develop modern web apps with tiny frameworks and tools

jQuery

Page 45: Simplicity - develop modern web apps with tiny frameworks and tools

jQuery

Page 46: Simplicity - develop modern web apps with tiny frameworks and tools

Angular

Html enhanced for web apps!

Page 47: Simplicity - develop modern web apps with tiny frameworks and tools

Angular

Page 48: Simplicity - develop modern web apps with tiny frameworks and tools
Page 49: Simplicity - develop modern web apps with tiny frameworks and tools

Less css

dotLess for .Net

Page 50: Simplicity - develop modern web apps with tiny frameworks and tools

Nancy fx

Page 51: Simplicity - develop modern web apps with tiny frameworks and tools

RavenDB

Page 52: Simplicity - develop modern web apps with tiny frameworks and tools

Simple.Data

Page 53: Simplicity - develop modern web apps with tiny frameworks and tools

SignalR

(Socket.io like framework for .Net)

Page 54: Simplicity - develop modern web apps with tiny frameworks and tools

So what?

Page 55: Simplicity - develop modern web apps with tiny frameworks and tools

“if you don’t love it, it gonna fail!”

“stay foolish, stay hungry”

Jobs

Page 56: Simplicity - develop modern web apps with tiny frameworks and tools

Get more Fun

Page 57: Simplicity - develop modern web apps with tiny frameworks and tools

Please rate this sessionScan the code, go online, rate this session

Page 58: Simplicity - develop modern web apps with tiny frameworks and tools

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