simplicity 2.0 - get the power back
DESCRIPTION
What is simplicity ? why should you care ? How to deal with simplicity in our hyper connected complext world of software development ? Let's talk about all that, about design, architecture, clean code, tools and much more.TRANSCRIPT
- Simplicity Compose modern apps with ecient practices & tools 1 Rui Carvalho @rhwy :: rui.fr
- About Development, architecture, Coaching, Training, Teaching http://twitter.com/rhwy http://github.com/rhwy http://www.rui.fr http://rui.io http://www.codedistillers.com Groups Write Work? 2 Func1onal Programming in F# NCRAFTS organizer of the conference
- Pragmatic Web (no) Frameworks Tools Patterns 3 Practices
- Get the Control back! Less Pain 4
- Background Should I really care? 5
- 6
- Complexity is everywhere and making things simple is hard! 7
- -1- 8
- The Domain Problem 9
- 10 humans need to talk more
- Wrong models cause massive accidental complexity Greg Young 11
- Customer needs Foo 12
- You think schema Bar 13
- Dont think schema too hard 14
- There is no good but some of them are useful 15 { Model | Architecture | persistance }
- maybe partially maybe aggregated but surely in an unique context 16
- 17
- -2- 18
- Over Engineered ? 19 The Architecture Problem
- you MUST decouple your ugly monolithic app in LAYERS 20 (evil said)
- 21
- 22 arg
- Hexagonal, Onion? 23 Yes!
- 24
- Concrete Application? 25
- ((You/Me/Them) misunderstood Fail 26
- 27 Architecture is about an intent, its not about a technical framework
- 28 Architecture is the art of taking decisions lately
- 29 Templates, patterns, scaolding dont solve anything they are just tools to start faster
- 30 Avoid dependencies Use abstractions Use right naming
- 31
- -3- 32
- 33 what about design?
- 34 Are You Simple enough?
- Solving the wrong problem - it may happened - 35
- 36 It should go faster !
- 37 Lets take a more modern engine!
- all that matters! Bad Understanding Poor design No design Bad technology locking 38 } Generates Complexity !
- -4- 39
- please, help 40 What about tools?
- 1-1 Frameworks? 41 And Libraries
- Frameworks? 42
- Frameworks ? 43
- A framework >> it calls you 44
- 45 YOU Call a Library
- OSS ? oss projects -most of the time- fit real user needs tiny oss libraries usually t one need, but do it well. 46
- 1 11 Get the shell back! 47
- Curl Everything you need to test your app is here! -X [GET|POST] -I (include headers) -d key=value 48
- Nuget Package management is essenPal Enterprise grade => build your own Quite mulP-plaTorm 49
- Nuget curl hUp://nuget.org/nuget.exe -L -k -o nuget.exe #!/bin/sh PATH=/usr/local/bin:$PATH mono --run1me=v4.0 /usr/local/bin/NuGet.exe $* (for Mac lovers) 50
- Chocolatey @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/ psChocInstall'))" && SET PATH=%PATH%;%systemdrive% chocolateybin (nuget powered) > Cinst ruby 51
- Nano just enough editing capabilities in the shell > Cinst nano 52
- Gulp/Fake/Bau Simple taks based build tools, on your language! 53
- 54
- 55 1 12 See it live! If you dont see it live, then it may be dead
- 56
- Glimpse Firebug for asp.net 57
- Chrome dev tools 58
- Editors Chose a good tool also for the client side! Webstorm 59
- Online web editors C9.io Jsddle.com Jsbin.net Plnkr.co Codepen.io 60
- 61 1 33 Efficient Libs Do More for Less
- jQuery 62
- jQuery 63
- Angular Html enhanced for web apps! 64
- Angular Dependency Injection TESTS TDD Mocks MVC Two-way Data-binding Templates more than that! 65
- 66
- Less css dotLess for .Net 67
- 68 1 4 Polyglot over patterns and other convention over configuration beauties
- Be PolyGlot! 69
- Nancy fx 70
- Install PM> Install-Package Nancy ! ! Write public class SampleModule : Nancy.NancyModule { public SampleModule() { Get["/"] = _ => "Hello World!"; } } ! ! ! Go! 71
- ORM Light || MASSIVE || DAPPER 72
- SignalR (Socket.io like framework for .Net) 73
- So what? 74
- 75 Simplicity?
- What problem are trying to solve? Always! 76
- Avoid coupling everywhere, from classes to libraries 77
- Be Consistent Readability, Rules, Conventions 78
- if you dont love it, it gonna fail! stay foolish, stay hungry Jobs 79
- Get more Fun 80
- 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 81 @rhwy