Android开发学习之路--React-Native之初体验

  近段时间业余在学node.js,租了个阿里云准备搭建后端,想用node.js,偶尔得知react-native可以在不同平台跑,js在iOS和android上都可以运行ok,今天就简单学习下react-native。(这里的开发环境是mac,windows和linux可能会有所不同,而且跑ios也需要mac的)。


安装react-native

  首先是安装react-native了,这里首先是已经安装好了node,并且也安装好了npm了,关于node和npm就只能google了,不过之后我也会在web开发中介绍,暂时没有这么多时间总结了。好了,言归正传执行如下命令:

sudo npm install -g react-native-cli

  等待一段时间安装好了之后,会有react-native的命令,可能PATH没有设置,会出现不了这个命令。首先查看下/usr/local/bin下会有react-native的命令如下:

ll /usr/local/bin
total 47064
-rwxr-xr-x  1 jared  admin   656B  3 28 17:38 brew
-rwxr-xr-x  1 root   wheel   290K  3  6  2015 ctags
-rwxrwxr-x  1 root   wheel    23M  3  9 10:52 node
lrwxr-xr-x  1 502    staff    38B  3 14 14:21 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x  1 root   admin    45B  5  8 10:21 react-native -> ../lib/node_modules/react-native-cli/index.js
-rwxr-xr-x  1 root   wheel   2.2K  2 27  2015 wstorm

   继续查看PATH路径有没有包含这个路径:

echo $PATH
/usr/local/Cellar/git/2.7.4/bin:/usr/local/bin:/usr/local/sbin:/Users/jared/.gradle/bin:/Users/jared/Desktop/jared/software/sdk/platform-tools:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

   因为我的配置里面有,所以就可以直接使用了,如果没有就在.bash_profile中添加了。好了,既然命令有了,那么就执行react-native init AwesomeProject,这里的AwesomeProject指的是你的工程名字,也可以定义为HelloWorld。

react-native init AwesomeProject
This will walk you through creating a new React Native project in /Users/jared/Documents/workspace/react-native/AwesomeProject
Installing react-native package from npm...

   等待一段时间,等获取React Native的源代码和依赖包之后在相应的目录下会生成如下目录和文件:

->AwesomeProject ls
android          index.ios.js     node_modules
index.android.js ios              package.json

  期中andorid目录就是android项目的工程,ios目录就是iOS项目工程,node_modules是react native的源代码和依赖包,index.ios.js是iOS的相关js的代码,index.android.js是android的相关的js代码,package.json是包的管理。


运行react-native

  既然都准备了,那么就运行下看下效果了。
  首先是iOS,打开xcode,打开上述ios目录的工程,运行后在模拟器中得到如下:

20160508121231996

  因为iOS用的是模拟器,所以不需要改ip地址了,直接使用localhost了,接着就是andoird了,因为用的真机,所以这里修改下ip地址如下图:

20160508192522060

  接着运行android,然后reload js如下图:

20160508192718654

react-native代码解析

  既然两个平台都运行ok了,那么接下去就可以修改js代码来看看效果了,先看下源代码吧,这里就分析下android了,因为ios的也是一样的:

class AwesomeProject extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.android.js
        </Text>
        <Text style={styles.instructions}>
          Shake or press menu button for dev menu
        </Text>
      </View>
    );
  }
}

  主要代码如上所示,这里AwesomeProject继承了Component,然后可以看到主要在屏幕上显示的代码就是View,这里的View由三个Text组成,每个Text都有他对应的style和content,这也就是上述运行后的图中为什么是居中,还有颜色大小了,具体如下的样式:

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

  既然我们基本了解了代码,那么就可以试着做一点点修改,添加一行文字,并且把背景色修改如下,

    <Text style={styles.instructions}>
      I am studying the React Native!
    </Text>
backgroundColor: '#00FFFF'

  接着我们运行看下效果:

20160508194759709

  和预期的效果一样,这样的话只要修改一份代码,可以同时在android和iOS中运行。
  先简单学到这里了,之后可以学学别的简单的空间。感觉这么一来,web端,android端,ios端,以及服务端,都只要用js就可以完成个七七八八了,很赞,js还是要好好学学了。

转载于:https://www.cnblogs.com/wuyida/p/6299940.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 React Native 在 2023 年的发展,我无法提供确切的预测。然而,根据目前的趋势和发展情况来看,React Native 在移动应用开发领域仍具有很大的潜力。 React Native 是一个跨平台的移动应用开发框架,它允许开发者使用 JavaScript 和 React 的思维方式来构建原生移动应用。它的优势在于可以同时开发 iOS 和 Android 应用,减少了开发和维护两个不同平台的工作量。 随着时间的推移,React Native 可能会不断改进和演进,以提供更好的性能、更丰富的功能以及更好的开发体验。在未来的几年里,我们可能会看到以下一些趋势和发展: 1. 性能优化:React Native 的性能一直是开发者关注的焦点。未来版本可能会引入更多的性能优化措施,以提高应用的加载速度、响应速度和内存使用效率。 2. 更丰富的原生功能支持:React Native 通过桥接原生组件和模块,使开发者能够访问和使用原生功能。未来版本可能会增加更多原生功能的支持,使开发者能够更轻松地集成设备功能和第三方库。 3. 工具链改进:React Native 的开发工具链已经不断改进,未来可能会进一步提高开发者的工作效率。这包括更好的调试工具、可视化界面编辑器以及更好的集成和部署流程。 总体而言,React Native 在 2023 年可能会继续成为移动应用开发的重要选择之一。然而,移动开发技术的发展是动态的,可能还会涌现出其他竞争性的解决方案。因此,对于开发者来说,持续学习和关注行业动态是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值