All Projects → appsquickly → Typhoon Example

appsquickly / Typhoon Example

Licence: apache-2.0
An example application built with Typhoon dependency injection framework.

Projects that are alternatives of or similar to Typhoon Example

Reactant
A framework for building React applications
Stars: ✭ 185 (-24.8%)
Mutual labels:  dependency-injection
Swinjectstoryboard
Swinject extension for automatic dependency injection via Storyboard
Stars: ✭ 211 (-14.23%)
Mutual labels:  dependency-injection
Invoker
Generic and extensible callable invoker
Stars: ✭ 229 (-6.91%)
Mutual labels:  dependency-injection
Malagu
Malagu is a Serverless First, component-based, platform-independent, progressive application framework based on TypeScript.
Stars: ✭ 184 (-25.2%)
Mutual labels:  dependency-injection
Testdeck
Object oriented testing
Stars: ✭ 206 (-16.26%)
Mutual labels:  dependency-injection
Coldbox Platform
A modern, fluent and conventions based HMVC framework for ColdFusion (CFML)
Stars: ✭ 220 (-10.57%)
Mutual labels:  dependency-injection
Php Di
The dependency injection container for humans
Stars: ✭ 2,273 (+823.98%)
Mutual labels:  dependency-injection
Grace
Grace is a feature rich dependency injection container library
Stars: ✭ 240 (-2.44%)
Mutual labels:  dependency-injection
Inversify Express Example
The official express + inversify+ inversify-express-utils examples
Stars: ✭ 210 (-14.63%)
Mutual labels:  dependency-injection
Dry System
Organize your code into reusable components
Stars: ✭ 228 (-7.32%)
Mutual labels:  dependency-injection
Reto
Flexible and efficient React Store with hooks.
Stars: ✭ 194 (-21.14%)
Mutual labels:  dependency-injection
Typedi
Simple yet powerful dependency injection tool for JavaScript and TypeScript.
Stars: ✭ 2,832 (+1051.22%)
Mutual labels:  dependency-injection
Angular Awesome List
Список ресурсов по Angular на русском
Stars: ✭ 224 (-8.94%)
Mutual labels:  dependency-injection
Arouter
💪 A framework for assisting in the renovation of Android componentization (帮助 Android App 进行组件化改造的路由框架)
Stars: ✭ 13,587 (+5423.17%)
Mutual labels:  dependency-injection
Ulfberht
🗡️ A small but powerful & opinionated DI library. Written in Kotlin, and powered by annotation processing.
Stars: ✭ 234 (-4.88%)
Mutual labels:  dependency-injection
Activej
ActiveJ is an alternative Java platform built from the ground up. ActiveJ redefines web, high load, and cloud programming in Java, featuring ultimate performance and scalability!
Stars: ✭ 183 (-25.61%)
Mutual labels:  dependency-injection
Pimple
A small PHP dependency injection container
Stars: ✭ 2,491 (+912.6%)
Mutual labels:  dependency-injection
Movies Kotlin Kata
Katas for practice Kotlin( Coroutines, dataclasses, delegate properties...) Clean Architecture and best practices in Android(DI, Dagger, MVP, Espresso) implemented by Jorge Sánchez (Xurxodev)
Stars: ✭ 240 (-2.44%)
Mutual labels:  dependency-injection
Grafter
Grafter is a library to configure and wire Scala applications
Stars: ✭ 240 (-2.44%)
Mutual labels:  dependency-injection
Transfuse
💉 Transfuse - A Dependency Injection and Integration framework for Google Android
Stars: ✭ 226 (-8.13%)
Mutual labels:  dependency-injection

Typhoon-example

An example application built with Typhoon.

Features:

  • Returns weather reports from a remote cloud service
  • Caches weather reports locally, for later off-line use.
  • Stores (creates, reads, updates deletes) the cities that the user is interested in receiving reports for.
  • Can use metric or imperial units.
  • Displays a different theme (background image, colors, etc) on each run.

NB: The free weather API that we were using no longer includes forecast information, so this won't be displayed in the app until we find an alternative. The concepts remain the same.

Running the sample:

  • Clone this repository, open the Xcode project in your favorite IDE, and run it. It'll say you need an API key.
  • Get an API key from http://developer.worldweatheronline.com.
  • Using your API key, set the application configuration.
  • Run the App in the simulator or on your device. Look up the weather in your town, and put a jacket on, if you need to (Ha!). Now, proceed to the exercises below.

Exercises

  1. Study the core components, view controllers and themes. Notice how the framework allows you to group related components together. Notice how dependency injection allows for centralized configuration, at the same time as using aggressive memory management. (With default prototype-scope, components will go away whenever they're not being used).
  2. Study the test cases. Imagine that you needed to use one service URL for integration tests and another for production. How would you do it?
  3. Imagine that you decided to save the list of cities that the user wants to get reports for to iCloud, instead of locally on the device. Notice how you'd only need to change one line of code to supply your new implementation in place of the old one. And you'd be able to reuse the existing test cases.
  4. Imagine that you'd like to integrate with other weather data providers, and let the user choose at runtime. How would you do it?
  5. Try writing the same Application without dependency injection. What would the code look like?

The App

Weather Report Weather Report Weather Report

I'm blown away!

Typhoon is a non-profit, community driven project. We only ask that if you've found it useful to star us on Github or send a tweet mentioning us (@appsquickly). If you've written Typhoon related blog or tutorial, or published a new Typhoon powered app, we'd certainly be happy to hear about that too.

Typhoon is sponsored and lead by AppsQuick.ly with contributions from around the world.

***Thanks @hongcheng for the excellent Paperfold animation, and @michaeljbishop for the parallax effect. ***

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].