环境搭建
官方的环境搭建文档已经有详细的说明,这里不再重复。大家可以看下我本地的环境配置版本,目前整个项目运行稳定,可以借鉴。
值得一说的是,react-native库使用的是0.59.10,0.59的最后一个版本,相信0.60版本后Android侧引入的新JS引擎,对App的性能有更多的提升。我们后续在适当的机会也会做相应的升级。还有,每个开发的cocoapods包管理工具最好也要保持一致,目前我们统一使用1.7.2版本,否则,每次pod install都会引起Podfile.lock文件的变化,容易代码冲突。
另外,本项目采用的开发语言为TypeScript,并没有采用JavaScript。TypeScript中增加了静态类型、类、模块、接口和类型注解等等,对我们移动开发者常用的面向对象语言OC/Java都很友好,上手更加容易、更易理解,而且其面向对象编程语言的结构保持了代码的清洁、一致和简单的调试,在应对大型开发项目时,使用TypeScript更加合适。
常用组件&第三方库
常用的官方组件我这里不一一介绍,大家可以直接看官方文档,官方文档永远是最新最可靠的。
以下所列是我们项目中目前使用到的第三方库,能帮助我们更好、更快地开发和构建项目。有兴趣的同学可以点开了解一下,相信有很多库都是大多数项目中离不开的,比如导航库react-navigation、状态管理库mobx/redux等等。
react-native-default-preference
react-native-push-notification
react-native-cookies这个库不好用,自己实现
react-native-keyboard-aware-scroll-view
代码规范
这点比较有意思的是,我们前端同学以前更多了解的是JS,而我们这次选用的开发语言是TS,其实还是有很多不同的。比如最简单的类型定义,习惯了OC/Java的同学自然是对JS那种无类型的语言深恶痛绝,而JS那种无类型的写法也不是TS的最佳实践,所以坦白来讲,我们小组基本没有什么经验来规范TS如何写才是最优雅的。
这次选用TS的一个核心诉求也是为了其静态类型化功能,能帮助我们编写更健壮的代码、更好的协作。既然自己没有经验,不如拿来主义,以下两个是比较官方的两例。觉得不错,可以先试用之。
react-native项目中需要掌握的技术栈
以下的知识点是我个人从移动端开发到react-native开发,入门时学过和参考过的一些文档和资料。供大家入坑参考。
iOS/Android - Objective-C/Swift/Java/Kotlin
原生开发基础,涉及太多知识,这里暂不列举
JS/TS - ES2015/ES6
React/React Native的ES5 ES6写法对照表
React - JavaScript/JSX语法/HTML/CSS
ReactNative - React
【进阶】MobX/Redux - 状态管理、组件间的通信
Node/NPM - 项目、包管理
热更新
其他
React Native - Text组件使用详解(样式、属性、方法)
小结
从目前来看,react-native的成熟、稳定完全可以支撑起一个商业型的项目,开发期间虽然经历了各种各样的坑和奇怪的问题,但是在官方文档、stackoverflow以及对具体问题的分析,最后都能得到可行的解决方案。借用公众号那句话,目前阶段,react-native才是业内最成熟的跨端框架。欢迎大家一起入坑学习~
转载转载转载,自己收藏用,防止他的被删除
网友评论