zoukankan      html  css  js  c++  java
  • 使用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>
        );
      }
    }
  • 相关阅读:
    最短路径算法 2.Dijkstra算法
    最短路径算法 1.Floyed-Warshall算法
    POLYGON(动态规划)
    JAG Asia 2016-Similarity of Subtrees(BFS+哈希)
    2019ACM-ICPC南京网络赛Holy Grail (SPFA / Floyd 模板题)
    2019ACM-ICPC南京网络赛Greedy Sequence
    快速输入输出
    2019HDU多校训练第七场J-Just Repeat
    JAG Asia 2017 C-----Prime-Factor Prime(素数区间筛)
    2019HDU多校训练第五场1007-permutation 2
  • 原文地址:https://www.cnblogs.com/hofmann/p/10872005.html
Copyright © 2011-2022 走看看