reactnative 怎么自定义控件,GitHub 上有哪些完整的 iOS-App 源码值得参考...
reactnative 怎么自定义控件
人才稀缺的问题首先的问题是:移动开发人才的稀缺。看看那些培训班出来的人吧,经过3个月的培训就可以拿到8K甚至上万的工作。在北京稍微有点工作经验的iOS开发,就要求2万一个月的工资。这说明当前移动互联网和创业的火热,已经让业界没有足够的开发人才了,所以大家都用涨工资来抢人才。而由于跨平台的框架(例如PhoneGap,RubyMotion)都还是不太靠谱,所以对于稍微大一些的公司,都会选择针对iOS和Android平台分别做不同的定制开发。而JavaScript显然是一个群众基础更广的语言,这将使得相关人才更容易获得,同时由于后面提到的代码复用问题得到解决,也能节省一部分开发人员。代码复用的问题ReactNative虽然强调自己不是“Writeonce,runanywhere”的框架,但是它至少能像Google的 j2objc 那样,在Model层实现复用。那些底层的、与界面无关的逻辑,相信ReactNative也可以实现复用。这样,虽然UI层的工作还是需要做iOS和Android两个平台,但如果抽象得好,Logic和Model层的复用不但可以让代码复用,更可能实现底层的逻辑的单元测试。这样移动端的代码质量将更加可靠。其实ReactNative宣传的“Learningonce,writeanywhere”本身也是一种复用的思想。大家厌烦了各种各样的编程语言,如果有一种语言真的能够统一移动开发领域,对于所有人都是好事。UI排版的问题我自己一直不喜欢苹果新推出的AutoLayout那套解决方案,其实HTML和CSS在界面布局和呈现上深耕多年,Android也是借鉴的HTML的那套方案,苹果完全可以也走这套方案的。但是苹果选择发明了一个Constraint的东西来实现排版。在企业的开发中,其实大家很少使用Xib的,而手写Constraint其实是非常痛苦的。所以出现了 Masonry 一类的开源框架来解决这类同行的痛苦。我一直在寻找使用类似HTML+CSS的排版,但是使用原生控件渲染的框架。其实之前 BeeFramework 就做了这方面的事情。所以我还专门代表InfoQ对他进行过采访。BeeFramework虽然开源多年,而且有2000多的star数,但是受限于它自身的影响力以及框架的复杂性,一直没有很大的成功。至少我不知道有什么大的公司采用。这次Facebook的ReactNative做的事情相比 BeeFramework 更加激进。它不但采用了类似HTML+CSS的排版,还把语言也换成了JavaScript,这下子改变可以称作巨大了。但是Facebook有它作为全球互联网企业的光环,相信会有不少开发者跟进采用ReactNative。不过也说回来,Facebook开源的也不一定都好,比如 three20 就被Facebook放弃了,但是不可否认 three20 作为一个框架,在那个时期的特定价值。所以ReactNative即使没有成功,它也将人们关注的焦点放在了移动开发的效率上了。很可能会有越来越多相关的框架因此涌现出来。MVVMMVVM在Web开发领域相当火热,而iOS领域的 ReactiveCocoa 虽然很火,但是还是非常小众。纠其原因,一方面是ReactiveCocoa带来的编程习惯上的改变实在太大,ReactiveCocoa和MVVM的学习成本还是很高。另一方面是ReactiveCocoa在代码可读性、可维护性和协作上不太友好。而Web开发领域对MVVM编程模式的接受程度就大不相同了,在Web开发中有相当多的被广泛使用的MVVM的框架,例如 AngularJS。相信ReactNative会推动MVVM应用在移动端的开发。动态更新终于说到最“鸡冻人心”的部分了。你受够了每次发新版本都要审核一个星期吗?苹果的审核团队在效率上的低下,使得我们这一群狠不得每天迭代更新一版的敏捷开发团队被迫每2周或1个月更新一次版本。很多团队上一个版本还没审核结束,下一个版本就做好了。ReactNative的语言是基于JavaScript,这必然会使得代码可以从服务器端动态更新成为可能。到时候,每天更新不再是梦想。当然,代码的安全性将更一步受到挑战,如何有效保护核心代码的安全将是一个难题。总结不管怎么样,这确确实实是一个移动互联网的时代,我相信随着几年的发展,移动互联网的开发生态也会积累出越来越多宝贵的框架,以支撑出更加伟大的App出现。作为一个移动开发者,我很高兴能够成为这个时代的主角,用移动开发技术改变人们的生活。
GitHub 上有哪些完整的 iOS-App 源码值得参考
1. Coding iOS 客户端
Coding官方客户端. 笔者强烈推荐的值得学习的完整APP.
GitHub - Coding/Coding-iOS: Coding iOS 客户端源代码
2. OSCHINA 的 iPhone 客户端
开源中国的iPhone客户端源码
https://git.oschina.net/oschina/iphone-app
3. Git@OSC
Git@OSC iPhone 客户端,方便用户查看Git@OSC的项目以及简单的操作issue等
oschina / git-osc-iphone
4. Firefox for iOS
GitHub - mozilla/firefox-ios: Firefox for iOS
5. zulip-ios
Dropbox收购公司内部社交服务商Zulip,然后全部开源,这是iOS App
GitHub - zulip/zulip-ios: Zulip iOS app
6. iOSSF
SegmentFault官方App
GitHub - gaosboy/iOSSF: SegmentFault官方App
7. iReddit
Reddit iPhone客户端
GitHub - reddit/iReddit: The iReddit iPhone app
8. Monkey
GitHub第三方iOS客户端
GitHub - coderyi/Monkey: Monkey is a GitHub third party client for iOS,to show the rank of coders and repositories.
9. Watch
Dribbble第三方客户端
GitHub - tuesda/Watch: A project which demonstrate how to develop a custom client on android for dribbble.com
10. Voice2Note
懒人笔记iOS客户端
GitHub - liaojinxing/Voice2Note: 懒人笔记iOS客户端
11. RSSRead
“已阅”(iOS上开源RSS新闻阅读器)
GitHub - ming1016/RSSRead: “已阅”(iOS上开源RSS新闻阅读器),有兴趣?那就Pull Requests吧
12. BeeFancy
BeeFancy仿Fancy官方APP的WIREFRAME,基于BeeFramework
GitHub - BeeFramework/BeeFancy: 仿Fancy官方APP的WIREFRAME,基于BeeFramework
13. SXNews
模仿网易新闻做的精仿网易新闻
GitHub - dsxNiubility/SXNews: High imitation Neteasy News. (include list,detail,photoset,weather,feedback)
14. Doppio
寻找最近的星巴克
GitHub - chroman/Doppio: An open source iOS app to find the nearest Starbucks store using NSURLSession, AFNetworking 2.0, Mantle and Starbucks private API.
15. Anypic
类似于Instagram的一款App
GitHub - ParsePlatform/Anypic: An open source mobile and web app that lets users share photos similar to Instagram
16. 豆瓣相册
Slowslab iOS应用 豆瓣相册 精选集 开源项目
GitHub - TonnyTao/DoubanAlbum: Slowslab iOS应用 豆瓣相册 精选集 开源项目,仅供学习参考
17. ChatSecure-iOS
Objective-C写的XMPP聊天应用
GitHub - ChatSecure/ChatSecure-iOS: ChatSecure is a free and open source encrypted chat client for iPhone and Android that supports OTR encryption over XMPP.
18. NotificationChat
Objective-C写的完整的聊天应用
GitHub - relatedcode/EncryptedChat: This is a full native iPhone app to create realtime, text based group or private chat with Parse and Firebase.
19. FakeZhihuDaily
仿知乎日报iOS客户端
GitHub - gnou/FakeZhihuDaily: 仿知乎日报iOS客户端
20. ruby-china-for-ios
RubyChina官方客户端
GitHub - ruby-china/ruby-china-for-ios: Ruby China client for iOS
21. Meizi
豆瓣妹子图iOS客户端
GitHub - Sunnyyoung/Meizi: 豆瓣妹子图iOS客户端
22. PlainReader
一款 iOS(iPhone + iPad) 新闻类客户端,内容抓取自http://cnBeta.com
PlainReader/PlainReader at master · guojiubo/PlainReader · GitHub
23. iOS-2048
用Objective-C实现的2048游戏
GitHub - austinzheng/iOS-2048: iOS drop-in library presenting a 2048-style game
24. ECMobile_iOS
基于ECShop的手机商城客户端
GitHub - GeekZooStudio/ECMobile_iOS: 基于ECShop的手机商城客户端
25. wikipedia-ios
维基百科官方App, 已上架
GitHub - wikimedia/wikipedia-ios: The official Wikipedia iOS app.
26. Sol
漂亮的扁平风格的天气App
GitHub - comyarzaheri/Sol: Sol° beautifully displays weather information so you can plan your day accordingly. Check the weather in your current location or any city around the world. Implemented in Objective-C.
下一篇:没有了