I agree there are some cosmetic advantages through external routing, but develop any non-trivial Android app and you will find out, it's not always a good idea to fight the framework. In some cases maybe it is, for e.g this cool project: https://github.com/mitmel/SimpleContentProvider. Java is already too verbose. Wiring an external router means handling a lot of concerns yourself. Not cool.
If you are making cross platform apps you have something like this but taking from web frameworks routing within apps is the best way to do this if you run from web, app, desktop and need a common system which the platforms then use system specific libs after.
The worst thing you can do making cross platform apps and games fast is to fall too in love with a great feature of one platform when you can standardize non essential stuff like this and simplify (i.e if you want server synced profiles using a cross platform solution over iCloud for instance, but maybe iCloud is an additional sync from your system on iOS but not the base). Then really beef up the areas where you do need to use system lock-in features for performance or familiarity.
What exactly happened with it? The website (http://three20.info/) seems to suggest that it hasnt been touched in years.
Three20 is hard to use, and is, for the most part, an all or nothing affair. You either use it throughout your whole app or not at all.
Really, you're not a real iOS programmer until you write your data abstraction yourself... and rewrite it two or three times based on lessons learned.
What if I route to a particular controller, what happens when I tap <back/dismiss> or how about segue animations?
Not complaining! Just curious. Will give it a shot now.
If any of that should be changed, definitely open an issue on the repo and we'll fix it
[1]: https://github.com/usepropeller/routable-ios/blob/master/Rou...
[2]: https://github.com/usepropeller/routable-ios#presentation-op...
http://RESTMagic.org http://github.com/RESTMagic/RESTMagic
If you build a twitter app (such as the example one with the project) and try and open a URL, the app handles it and opens the right view controller, if it doesn't exist it tries to get the json and match it with an HTML template. If the server just returns HTML is presents that. Magic.
The app even looks at your obj-c class prefix and looks if you made a subclass of the main view used for presenting HTML and uses that instead system wide.
Haven't posted it here yet but would love feedback, email address is on the RESTMagic page.
-(id) initWithUser:(User *) user {
}
instead of passing around primitive data types?