• 使用JavaScript和React编写原生移动应用


    使用JavaScript和React编写原生移动应用

    React Native使你只使用JavaScript也能编写原生移动应用。 它在设计原理上和React一致,通过声明式的组件机制来搭建丰富多彩的用户界面。

    import React, { Component } from 'react';
    import { Text, View } from 'react-native';
    
    class WhyReactNativeIsSoGreat extends Component {
      render() {
        return (
          <View>
            <Text>
              如果你喜欢在Web上使用React,那你也肯定会喜欢React Native.
            </Text>
            <Text>
              基本上就是用原生组件比如'View'和'Text'
              来代替web组件'div'和'span'。
            </Text>
          </View>
        );
      }
    }
    

    React Native应用是真正的移动应用

    React Native产出的并不是“网页应用”, 或者说“HTML5应用”,又或者“混合应用”。 最终产品是一个真正的移动应用,从使用感受上和用Objective-C或Java编写的应用相比几乎是无法区分的。 React Native所使用的基础UI组件和原生应用完全一致。 你要做的就是把这些基础组件使用JavaScript和React的方式组合起来。

    import React, { Component } from 'react';
    import { Image, ScrollView, Text } from 'react-native';
    
    class AwkwardScrollingImageWithText extends Component {
      render() {
        return (
          <ScrollView>
            <Image
              source={{uri: 'https://i.chzbgr.com/full/7345954048/h7E2C65F9/'}}
              style={{ 320, height:180}}
            />
            <Text>
              在iOS上,React Native的ScrollView组件封装的是原生的UIScrollView。
              在Android上,封装的则是原生的ScrollView。
    
              在iOS上,React Native的Image组件封装的是原生的UIImageView。
              在Android上,封装的则是原生的ImageView。
    
              React Native封装了这些基础的原生组件,使你在得到媲美原生应用性能的同时,还能受益于React优雅的架构设计。 
            </Text>
          </ScrollView>
        );
      }
    }
    

    别再傻等编译了!

    React Native让你可以快速迭代开发应用。 比起传统原生应用漫长的编译过程,现在你可以在瞬间刷新你的应用。开启Hot Reloading的话,甚至能在保持应用运行状态的情况下热替换新代码! 试试看吧,包你双击666。

    可随时呼叫原生外援

    React Native完美兼容使用Objective-C、Java或是Swift编写的组件。 如果你需要针对应用的某一部分特别优化,中途换用原生代码编写也很容易。 想要应用的一部分用原生,一部分用React Native也完全没问题 —— Facebook的应用就是这么做的。

    import React, { Component } from 'react';
    import { Text, View } from 'react-native';
    import { TheGreatestComponentInTheWorld } from './your-native-code';
    
    class SomethingFast extends Component {
      render() {
        return (
          <View>
            <TheGreatestComponentInTheWorld />
            <Text>
              上面这个TheGreatestComponentInTheWorld组件完全可以使用原生Objective-C、
              Java或是Swift来编写 - 开发流程并无二致。
            </Text>
          </View>
        );
      }
    }
  • 相关阅读:
    如何在Ubuntu Server 18.04上安装Microsoft的Procmon
    如何在Ubuntu 20.04上安装Wine 5.0
    如何在Kali Linux 2020中启用SSH服务
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Apache Groovy
    如何使用命令在Ubuntu 20.04 Linux上安装Vmware Tools
    在Ubuntu 20.04 LTS Focal Fossa上安装Zabbix Agent
    hdu 2089 不要62
    hdu 2093 成绩排名
    hdu 2104 hide handkerchief
    leetcode147对链表进行插入排序
  • 原文地址:https://www.cnblogs.com/hofmann/p/10872005.html
Copyright © 2020-2023  润新知