Enterprise Mobile Development

539 views
354 views

Published on

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
539
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Enterprise Mobile Development

  1. 1. © Copyright FeedHenry Ltd. 2013 Enterprise Mobile Development Damian Beresford Twitter: @dberesford @feedhenry 1 WIT Masters April 2014 http://bit.ly/enterprise-mobile
  2. 2. © Copyright FeedHenry Ltd. 2013 FeedHenry Platform
  3. 3. © Copyright FeedHenry Ltd. 2013 Customers • Customers • Transport • Law Enforcement • Utilities • Aviation • Medical • ‘Hello world’ Enterprise Proxy Pattern: 3
  4. 4. © Copyright FeedHenry Ltd. 2013 FeedHenry Open Source 4
  5. 5. © Copyright FeedHenry Ltd. 2013 Mobile Development • HTML5 / Native • Cordova • Backbone • Angular • Ionic Framework • Ember • famo.us • Rachet • Xamarin 5
  6. 6. © Copyright FeedHenry Ltd. 2013 MEAN Stack • MEAN – full stack javascript • Mongo • Express • Angular • Node • MeanR (Redis) 6
  7. 7. © Copyright FeedHenry Ltd. 2013 Javascript 7
  8. 8. © Copyright FeedHenry Ltd. 2013 Node.js Anti Patterns • Java mind set • OOP • Monolithic Systems 8
  9. 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. 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. 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. 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. 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. 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
  15. 15. © Copyright FeedHenry Ltd. 2013 Demo • https://wit-t.sandbox.feedhenry.com/ • wit@example.com 15

×