地址奉上: https://github.com/imWildCat/HappySdufe
React Native for Android 发布之后,自己一直想试试。不过在备考雅思,不想分心。
考完雅思用一周的时间写出来这个(当然之前有做设计和服务端),感觉还不错。写 React Native 还是比较愉快的,如果按照开发体验来排序: 原生 iOS ( Swift ) > React Native > 原生 iOS ( Objective-C ) > 原生 Android >> PhoneGap 。
虽然 React Native 的理念是“ Learn once, run everywhere ”,而非“ Write once, run everywhere ”。但是我这里还是用统一的 UI 实现的,一是因为没时间做两套设计,二是因为很多官方 Component 可以通用。
由于自己不是计算机专业学生,所以代码质量与见解可能比较不专业,见笑啦。
代码可以直接运行,我的服务端在 DO 。当然你也可以自己运行我开源的服务端,代码在 https://github.com/imWildCat/kalecgos-docker ,基于 docker (也是为了尝试新技术)。客户端代码中,需要把 https://github.com/imWildCat/HappySdufe/blob/master/src/utils/api_client.js#L41 中的 false
改为 __DEV__
。已知问题: Android 平台下,自己实现的 MapView 存在内存泄漏。
自己尝试过比较多的跨平台框架,包括 PhoneGap ( Ionic )、 Xamarin 、 Titiaium 、 RubyMotion 等等,目前感觉这之中最有前景的还是 React Native ,原因大概如下:
1. 开源,社区参与度高,方便 hack
2. 背后有大厂推动
3. 与 React 相呼应,有希望统一前端 和 移动端开发体验( flux 现在就可以通用)
4. 未来 native 库丰富后,可能只用 JavaScript 就写出来有趣的 App ,其他几个方案要么是第三方库比较少,或者是性能不足
5. React Native for Android 是个半成品,非常不完善
6. 要做出来像样的 App ,还是需要写不少 native 代码的。
React Native 整体看起来非常赞,不过远不够成熟,在生产环境请慎用。如果你有闲暇时间,还是值得尝试一下的。
想顺便在这个帖子里问下,我的服务端,大约运行 12 小时之后就会提示:“ MySQL Server has gone away ”。我之前有在 https://github.com/imWildCat/kalecgos-docker/blob/master/kalecgos/kalecgos/db/database.py#L14 设置连接池,但是似乎没有用。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.