Weitere ähnliche Inhalte
Ähnlich wie Enterprise Mobile Development (20)
Kürzlich hochgeladen (20)
Enterprise Mobile Development
- 1. © Copyright FeedHenry Ltd. 2013
Enterprise Mobile Development
Damian Beresford
Twitter: @dberesford
@feedhenry
1
WIT Masters April 2014
http://bit.ly/enterprise-mobile
- 3. © Copyright FeedHenry Ltd. 2013
Customers
• Customers
• Transport
• Law Enforcement
• Utilities
• Aviation
• Medical
• ‘Hello world’ Enterprise Proxy Pattern:
3
- 5. © Copyright FeedHenry Ltd. 2013
Mobile Development
• HTML5 / Native
• Cordova
• Backbone
• Angular
• Ionic Framework
• Ember
• famo.us
• Rachet
• Xamarin
5
- 6. © Copyright FeedHenry Ltd. 2013
MEAN Stack
• MEAN – full stack javascript
• Mongo
• Express
• Angular
• Node
• MeanR (Redis)
6
- 9. © Copyright FeedHenry Ltd. 2013
Anti Anti Patterns
• Data! Functions! Modules!
• Callbacks, async, etc
• Functional Programming
• Underscore
• Start with _each, _map, _filter, _reduce
• Unix/KISS mindset
• Microservices
9
- 10. © Copyright FeedHenry Ltd. 2013
Testing Stack
• Turbo – test runner
• Istanbul – code coverage
• Proxyquire – mock your require’s
• Grunt – ties it all together
• See FeedHenry Node.js Cloud Testing Guide
10
- 11. © Copyright FeedHenry Ltd. 2013
Testing – unit vs acceptance
• Eyes on code!
• unit tests should require no external dependencies, external services should
be mocked out (e.g. internet access, writing to file/database, etc)
• unit tests should be super quick to run
• unit tests should be reliable as no external dependencies
• unit tests should just test your own logic
• acceptance tests can require external dependencies, which do require
setup (which should be well documented!)
• as such they can take longer to run
• acceptance tests are a more 'end to end' philosophy
11
- 12. © Copyright FeedHenry Ltd. 2013
Micro Services
• martinfowler.com/articles/microservices.html
• yobriefca.se/blog/2013/04/29/micro-service-architecture
• slideshare.net/michaelneale/microservices-and-functional-programming
• klangism.tumblr.com/post/80087171446/microservices
• richardrodger.com/monolithic-nodejs
12
“The microservice architectural style is an
approach to developing a single application as
a suite of small services, each running in its
own process and communicating with
lightweight mechanisms”
- 13. © Copyright FeedHenry Ltd. 2013
Mirco Services
• Mix of Message Bus and REST API
• REST API - JSON in JSON out (robustness principal)
• Message Bus – Rabbit MQ
• Not just node.js, DropWizard for Java
• Continuous Integration - Small Production Deploys
• Operations – monitor all the things
• Dedicated Ops and Support teams
13
- 14. © Copyright FeedHenry Ltd. 2013
Mirco Services – complexity
• Not a silver bullet – but does help with complexity
• Still deal with lots of business rules, moving parts, etc
• Easy !== Simple
• Work at simplicity
• Need Master Builders to keep all the balls in the air
• Boxology
14