|  |      1virushuo      2012-01-04 03:58:16 +08:00 不过这东西用起来体验挺不好的。只能算“能用”,完全没有web带来的惊喜。 他们还在继续招聘iOS工程师,我估计早晚还是得更native一些。 | 
|  |      2ytzong      2012-01-04 11:05:16 +08:00 | 
|  |      3Livid MOD OP PRO @ytzong 多谢分享。在里面看到一个很亲切的东西: MAURLRouter *router = [MAURLRouter sharedInstance]; [router mapURLPatternString:@"myApp://viewEntry/(initWithId:)" toViewControllerClass:@"MAViewEntryController"]; 但是在 Google 里搜索无结果,看来是他们自己实现的一个 App 内部的 URL 导航类。 | 
|  |      4soulhacker      2012-01-04 14:43:26 +08:00 @virushuo 因为大量使用 UIWebView,这个 app 效率和用户交互反馈都很是问题,更要命的是它的信息架构很不清晰(而 Quora 本身目前信息架构已经挺复杂了),用起来很费劲,连及格都算不上。 | 
|  |      5linlinqi      2012-01-04 14:48:15 +08:00 @Livid MAURLRouter听起来很像Three20里面的Three20UINavigator https://github.com/facebook/three20 | 
|  |      6lbj96347      2012-01-04 15:31:21 +08:00 @soulhacker 比较赞同你的观点! | 
|  |      8ydhydh      2012-01-04 17:34:39 +08:00 | 
|  |      9soulhacker      2012-01-05 11:03:44 +08:00 @linlinqi @Livid 原理都类似,本质上就是把一种 URL pattern 映射到一个特定的 view controller,是 native-web 混合模式的必备构件,我比较喜欢 Nimbus 的开发者 Jeff Verkoeyen 的 SOCkit https://github.com/jverkoey/sockit ,映射很简单: [map from:@"twitter://tweet/:id" toViewController:[TweetController class] selector:@selector(initWithTweetId:)]; [map from:[Tweet class] name:@"thread" toURL:@"twitter://tweet/:id/thread"]; | 
|  |      10soulhacker      2012-01-05 11:10:32 +08:00 看了下楼上转的 ABRouter,是封装 SOCKit 用于路由,很轻很好,基本不用自己做太多事情了…… | 
|  |      11soulhacker      2012-01-05 11:55:02 +08:00 Jeff Verkoeyen 他们正在重写  Three20 里的 navigator(在新的 Nimbus 项目中),会用 SOCKit 作为后端,其实 ABRouter 可以看作是第三方过渡实现了…… p.s. Jeff 等接手 Three20 后建立的 Nimbus 项目真是比 Three20 好太多了,之前用得人抓狂 -_- |