"Tools": "Adopt": Resque: purpose: "Background Jobs" more_details_url: https://github.com/resque/resque/tree/1-x-stable tags: - background jobs - middleware RabbitMQ: purpose: "Messaging" "Trial": ElasticSearch: purpose: "Indexed Search" why_summary: "Erch and CXE using" HumbleKit: purpose: "CSS Framework" more_details_url: http://humblekit.com why_summary: "Used in many apps, not consistently" "Assess": Sidekiq: purpose: "Background Jobs" more_details_url: why_summary: "Only Erch using" "Redis as a database": purpose: "Primary Data Store" more_details_url: https://redis.io why_summary: "Only client-service using" "Hold": SwiftTask: purpose: "Promise Pattern in Swift" more_details_url: https://github.com/ReactKit/SwiftTask why_summary: "We had trouble designing a system around this and switched to PromiseKit" JIRA: purpose: "Issue & Task Management" more_details_url: https://www.atlassian.com/software/jira/ why_summary: "Abandoned for lighterweight solutions" "Platforms": "Adopt": Heroku: purpose: "Infrastructure" more_details_url: tags: - middleware "Trial": iOS: purpose: "Mobile Application Development" more_details_url: https://en.wikipedia.org/wiki/IOS why_summary: "Only used for client-facing mobile app" "Assess": AWS: purpose: "Infrastructure" more_details_url: https://aws.amazon.com why_summary: "VPN" "Hold": Cloudfront: purpose: "Product image hosting" more_details_url: https://aws.amazon.com/cloudfront/ why_summary: "Minx using, backed by Cloudinary" "Techniques": "Adopt": "Weekly sync-ups with Business Partners": purpose: "Roadmap Planning" more_details_url: :needed "Trial": "HTTP Services": purpose: "Application Integration" more_details_url: :needed why_summary: "Probably ready to adopt. Some older code still using gems & messages-as-APIs" "Assess": "Consumer-driven tests for services": purpose: "Ensure changes to services do not break upstream clients" more_details_url: http://martinfowler.com/articles/consumerDrivenContracts.html why_summary: "MOPS experimenting (see Pact)" "Hold": "Shared Gems": purpose: "Application Integration" more_details_url: :needed why_summary: "Difficult to manage, doesn't scale" "Languages and Frameworks": "Adopt": Ruby: purpose: Middleware Programming more_details_url: https://www.ruby-lang.org/en/ more_details_summary: "Ruby is a dynamic, _object-oriented_ programming language that combines ideas from Smalltalk, Perl, and others" tags: - middleware - scripting - cli examples: - http://rubyonrails.org - http://github.com/stitchfix/stitches experts: - Matz - Tenderlove - DHH "Trial": CoffeeScript: purpose: Browser Programming more_details_url: why_summary: "Most apps are using this, with Minx being a notable exception" "Assess": JQuery: purpose: "Front-end Framework" more_details_url: why_summary: "www, Kingmob use this for front-end" "Hold": "Objective-C": purpose: "iOS Development" more_details_url: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html why_summary: "We have seen much lower error rates in production using Swift than the devs have seen with similar apps written in Objective-C"