精华内容
下载资源
问答
  • ReactNative app开发教程.zip
  • Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用...

    Native App开发

    Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

    Web App开发

    Web App开发即是一种框架型APP开发模式(HTML5  APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

    Web APP应用呈现以下特点:

    (1)每次打开APP,都要通过APP框架向云网站取UI及数据;

    (2)手机用户无法上网则无法访问APP应用中的数据。

    (3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)

    (4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;

    (5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;

    (6)APP用户每次都可以访问到实时的最新的云端数据;

    (7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;

    适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。

    Native App(原生型APP)应用呈现以下特点:

    (1)每次获取最新的APP功能,需要升级APP应用;

    (2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;

    (3)手机用户无法上网也可访问APP应用中以前下载的数据。

    (4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)

    (5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。

    适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。

    移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。

    总结一句话:开发预算100w+,Native App,否则 微信app/hybird app/小程序

    转载于:https://www.cnblogs.com/syxchina/p/7495204.html

    展开全文
  • APP开发模式通常分为Web APP与Native APP原生模式两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML5的发展及云服务普及,采用HTML5进行Web App...
    APP开发模式通常分为Web APP与Native APP原生模式两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML5的发展及云服务普及,采用HTML5进行Web App开发正在成为一种趋势,用户可以根据应用特点和需求进行选择,亦可选择两者混合模式:
    
      Native App开发
    
      Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
    
      Web App开发
    
      Web App开发即是一种框架型APP开发模式(HTML5  APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
    
      原生APP开发及Web APP开发模式的区别
    
      Web APP需开发“html5云网站”和“APP客户端”,昆明天度网络公司总结这类型APP应用呈现以下特点:
    
      (1)每次打开APP,都要通过APP框架向云网站取UI及数据;
    
      (2)手机用户无法上网则无法访问APP应用中的数据。
    
      (3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
    
      (4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;
    
      (5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;
    
      (6)APP用户每次都可以访问到实时的最新的云端数据;
    
      (7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;
    
      适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。
    
      Native App(原生型APP)需要开发“云服务器数据中心”和“APP客户端”,昆明天度网络公司总结这类型的APP应用呈现以下特点:
    
      (1)每次获取最新的APP功能,需要升级APP应用;
    
      (2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
    
      (3)手机用户无法上网也可访问APP应用中以前下载的数据。
    
      (4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
    
      (5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
    
      适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。
    
      到底该如何选择Web App和Native App开发模式
    
      移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。下面几节将讨论一下Native App的一些主要功能。
    
      什么时候应该选择Native App
    
      1.为应用收费
    
      没有任何地方规定开发者不能对一个移动Web App收取使用费,但是由于某些原因,人们常常认为不能或是不应该对一个Web App收取费用。由于历史原因,导致移动设备上付费服务遭遇两大阻力:
    
      2.付款方式
    
      在移动设备上输入信用卡号相当麻烦,而且在许多老式设备上也没有安全保障。一种典型的方式是,如果你需要对你的应用收费,你可以与运营商达成协议,让运营商代为为你的服务收费。这也意味着,你需要和多个运营商达成合作。这通常是首选的方法,因为许多手机用户可能根本就没有信用卡,比如青少年。
    
      另一种方法是将用户的信用卡信息保存在一个安全的网站上。用户可以通过登录到该网站购买应用服务。这个过程不算特别理想,因为这意味着用户不能直接通过他们的移动设备购买服务了。
    
      3.强制分成
    
      移动运营商是会提成的。App无论是通过运营商还是通过移动设备发布,他们都为应用提供了一套收费机制。这些运营商和移动设备将会提取部分收益,然后将剩余的部分交给应用开发商,这也意味着,开发人员必须遵守他们的市场规则。适应运营商的市场规则通常是非常困难的,需要投入大量的人力资源。相比而言,移动设备的市场规则则简单许多,但是也存在不少的困难。
    
      妨碍运营商和移动设备开发商利益的应用以及服务都将受到阻扰。过去,那些不靠运营商和移动设备开发商运作的网站如果收入过于显眼的话,都逃脱不了被关闭的命运,但是最近,这样的事情鲜少发生了。
    
      如果你想为你的Native App收费,那么你就必须接受这个现实——你必须遵守别人的市场规则,还得放弃部分收益。
    
      4.开发游戏
    
      如果你是想开发一个移动游戏(移动游戏是移动市场上最大的一块),那么你需要开发一个Native App。游戏对资源的占用很大,并且需要使用许多设备API或平台API。虽然,现在有几款完全使用Web技术开发的游戏占有了一定的市场份额,但是和Native App市场的占有情况相比,还是微不足道的。游戏用户对应用的视觉和操作效果要求很高。移动Web虽然提供了一些仿真体验,但还远远不能满足用户的需求。
    
      在开发移动游戏时,你需要慎重考虑你的应用需要支持哪些平台。幸运的是,现在有许多工具能够帮助你将你的游戏推向多个平台,但是完成这些工作,还是需要花费大量的人力和物力。
    
      5.使用定位功能
    
      下一个功能就是定位功能,可以通过GPS或者是信号检测确定用户当前的位置信息。以前只能通过Native App的APIs查看用户的位置信息,但现在大多数主流移动浏览器上都嵌入了W3C Geolocation API。像iPhone或Android这样安装了WebKit的设备,或是配置了Opera或Mozilla浏览器的设备,都可以获取用户的位置信息。
    
      我相信定位功能会为Web技术带来许多全新的应用。如果能够合理利用Web浏览器,Web开发商就能使用用户的位置信息和其他内容开发出更加有趣的应用。虽然这在技术上没有太大的困难,但却受到隐私保护条例的限制。我们将Web浏览器当做是用户进入World Wide Web的入口。加入定位功能,意味着在网站中引入了一些敏感信息,这有可能导致严重的后果。但是位置感知应用中显示的位置信息必须经过用户的授权,用户当然有权禁止应用发布自己的位置信息。
    
      6.使用摄像头
    
      摄像头可以为你的应用提供丰富的可能性。以往移动MMS(Multimedia Messaging Service)被用于处理移动照片。换言之,你拍了一张照片后,需要使用MMS将它传送给一个服务器,服务器对照片做出相应的处理,并将处理完成的结果通知给你。这个过程是非常耗时的,而且相当复杂,也没有可靠性保障。
    
      通过访问摄像头,Native App开发者能够简化拍照的过程。用户可以直接在客户端对照片做一些简单的处理,只有在有需要的时候才将照片上传给服务器,而且是通过可靠的HTTP传输。W3C正在开发一个访问摄像头的API,但现在还没有将这部分工作正式整合到浏览器中。
    
      在许多类型的移动Apps中,摄像头是非常有用的,比如快拍应用、短片拍摄应用等等,摄像头可以用来捕捉许多重要的瞬间。不久的将来,我们可以看到——只要通过摄像头拍摄某个标识,应用程序就能自动完成对标识上的语言转换工作——这个技术在日本已经开始流行起来了。
    
      7.使用感应器
    
      现在越来越来越多的移动设备上都新增了感应器功能,该装置可以感知设备的物理速度以及重力,并将感知的数据结果传送给设备。这个装置常被用来感应设置是否被翻转,应用根据接受到的信息自动调节画面的方向。
    
      感应器可以用来帮助用户提升与设备交互时的真实感;大多数移动设备都是手持的,应用能够根据设备的方向调整内容画面,比如翻转屏幕,或是检测物理移动,并能据此猜测用户所处的环境。举一个简单的例子:比如用户正在走路,那么感应器能够检测到一个轻缓的移动或是速度,这时可以为用户提供一个大字体的用户界面,从而使得用户更容易看清屏幕上的内容。
    
      然而,开发者也不能过分依赖感应器,因为感应器无法区分究竟哪些交互是有意的,而哪些是没有意义的。每个移动交互都需要通过“传输测试”。设计你的交互时必须考虑用户在一个拥挤的汽车或是火车上的场景。考虑一下如果用户正身处拥挤的地铁或是正在驾车时,你的应用能否正确处理用户摇晃移动设备的动作。通常,大多数开发者都没有考虑这些因素。确保为每个任务设计一个备用方案以处理特殊场景中的移动交互。
    
      8.访问文件系统
    
      如果你的应用需要将数据保存在本地,那么你需要开发一个Native App。比如你要保存用户的地址簿、电话或E-mail信息,或是保存从其他设备上获取的数据。
    
      访问文件系统常常会涉及到安全和用户隐私保护的问题。恶意应用程序可能会修改或是删除你的移动设备上的数据。一个携带病毒的应用程序可以利用移动设备上的关系网将病毒扩散到许多其他的手机上,在采用移动应用认证机制以前,这种事情是常常发生的。
    
      另一方面,移动设备正变得越来越私人化,移动设备上保存了大量用户的个人信息,以及用户的朋友信息和商业信息。针对这些私人信息开发应用是一个不错的想法。但是这也存在一定的风险,使用保存在移动设备上的数据可以为用户提供更加有针对性的服务。
    
      开发者必须谨记,只有在获得用户的授权后才能访问用户的私人数据。我们看到许多应用在没有得到用户授权的情况下使用了大量的用户私人数据,而被误认为是垃圾信息或是钓鱼应用,即使这些应用原本是在提供一些非常有用的服务。人们对你的应用的误解将会影响到你的服务的推广,如果运营商收到过多关于你的应用的投诉,那么你的服务可能将被终止,甚至会牵连其他的应用。
    
      访问文件系统时至关重要的一点就是在没有获得用户授权的情况下,不要访问任何用户的私人数据。而这一点,往往被大多数应用忽略了。W3C正在为移动开发商开发相关的标准API,但目前该工作尚未完成。
    
      9.离线用户
    
      最后一个需要开发Native App的理由就是,用户有可能是离线的或者无法接入移动网络。这在城市可能很少发生,即使是在农村,网络的覆盖也已经逐步普及了。但是短暂的网络连接中断还是时常发生的,你的应用程序应该考虑如何处理这种情景。
    
      想想用户通常在什么时候,在哪里会使用你的App。如果是一个移动游戏,那么用户很可能在飞机上使用这个App。跟踪地图应用常在偏远且网络覆盖不佳的地方使用。移动旅游向导常在一个国外的网络中访问,往往需要支付漫游和国际网络费用。这时,应用程序最好能够为用户提供离线服务,保证用户在不接入网络的情况下,仍然能享受同等的服务。
    
      现在支持HTML5的浏览器也能实现脱机访问功能,但对用户来说可能不太明显。随着越来越多的浏览器都开始支持脱机访问,应用需要明确地告诉用户网络连接中断时,他们仍然可以访问移动Web Apps。
    
      Native Apps常常假设网络连接是可靠的。App通常只考虑了网络状况良好的情景,想当然地认为网络是封闭的,并且网速足够快。移动设备从网络良好的环境突然进入一个网络糟糕的环境并不少见。Native Apps应该在网络状况最差的情况下测试。比如用户启动任务时可能还是全信号覆盖,而在任务结束时可能已经完全没有网络信号了。
    
      用户在安装Native Apps时,根本不会考虑是在线访问还是离线访问——他们期望的是不管在任何状况下,Native Apps都能正常工作。而这也是开发者的职责。
    
      什么时候应该选择Web App
    
      只要你的应用程序不满足之前提到的Native App条件之一,那么你就没有必要开发一个Native App,而应该选择开发一个Web App。正如文章之前提到的,我是一个Native App的拥护者,我认为Native App有许多优秀的特质,并且具有很大的市场潜力,但是Web Apps是唯一一个经久不衰的移动内容、服务、应用开发平台。
    
      Native App并不能明显地为用户提供更好的服务;它反而会增加项目的成本,减少了应用发布的渠道,增加了App升级的复杂度,削弱了开发者对应用的控制和利润,并且可能会给设备带来麻烦。Native App可以为开发者带来短期的效益,但这是有一定风险的,甚至可能会影响到移动市场的可持久发展。
    
      移动Web App的优势在前文中已经提到过了。如果上一节提到的几点功能是促成你选择Native App的唯一原因,那么如果能够在移动浏览器上屏蔽这些障碍,你是否还会坚持选择Native App呢?Palm的webOS已经着手解决了上述的部分问题。他们基于WebKit构建了一个全移动操作系统,将手机变成了一个Web浏览器。所谓的“Native Apps”实际上就是一个Web Apps。
    
      PhoneGap也是一个类似的项目,这个开源项目用于帮助开发者在iPhone、Android以及BlackBerry设备上开发Native Apps,并且能够模拟设备上的功能(如定位功能和文件系统)供Web Apps调用。这些代码可以在各个设备的应用商店中发布并且出售,但是他们使用的通用代码和设计是可以共享的。由于开发的是一个Web App,开发者可以为低端的移动浏览器开发一个简化版的应用。只用开发一次,就可以部署在多个平台上了,
    
      对于那些有着丰富的移动开发经验的程序员来说,一提到“要开发一个功能丰富的应用”时,可能首先想到的就是Native App。虽然在很多设备上,这一想法仍然适用,但是现在移动Web Apps上也提供了足够丰富的功能接口供开发者调用。这使得Web App不仅可以像Native App一样被设计得功能丰富界面绚丽,而且还能在各个平台上迁移,甚至不用修改一行代码。
    
      现在在移动设备开发中,移动Web Apps的创新进入了前所未有的高潮时期。但更重要的是,这是有史以来第一次,移动设备开发商决定共同制定一个移动Web开发的标准,就像是桌面Web上的标准一样。不仅如此,那些支持移动Web App创新功能的设备或是支持第三方浏览器的移动设备都受到消费者的欢迎。
    展开全文
  • 从零开始学React Native App开发

    千次阅读 2016-10-11 19:48:51
    转载 lReactN ... 1.2 为什么要使用React Native开发 1.3 环境搭建 1.4 基础开发工具与调试 React Native 开发基础 2.1 flexbox 布局基础知识 2.2.JaveScript 语法基础 2.3 React Nati

    转载
    lReactN
    目录
    1. React Native简介
    1.1 从何而来,背景介绍
    1.2 为什么要使用React Native开发
    1.3 环境搭建
    1.4 基础开发工具与调试

    1. React Native 开发基础
      2.1 flexbox 布局基础知识
      2.2.JaveScript 语法基础
      2.3 React Native 开发基础支持及代码解读
      2.4 React Native 组建生命周期

    2. 编写第一个React Native Demo

    3. React Native 在实际项目的应用
      5.学习参考网址

      前言
      年初写的,用于公司内部技术分享的,一直偷懒没搬到csdn上来。今天心情不好,给它帮个家吧,这个技术分享,并不是技术博客,
      所以很多东西是讲出来的,这里记录不不全,大家将就吧。==!。

    1.1 从何而来,背景介
    React 起源于 Facebook 的内部项目,因为 FB 对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram的网站。
    做出来以后,发现这套东西很好用,就在2013年5月开源了。后来延伸到其他平台就有了 React Native ,2015年10月Raact Native 支持了

    android 平台。React 不同于PhoneGap ,H5,它的口号是 Learn Once ,Write anyWhere !

    1.2 为什么要使用React Native开发
    a.比webview 更好的体验,更好的性能,更好的手机交互
    (参见博客 H5、React Native、Native应用对比分析 http://vczero.github.io/react_native/H5-React-Native-Native.html
    b.未来发展的一种趋势之一,提前了解学习,装13
    c.解决项目中一些痛点,比如更新,ui方面的需求改动,丰富的运营手段。

    1.3 环境搭建 (Mac OS)

    1)安装Homblew,必要工具vpn
    通过终端运行命令
    ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
    安装完毕,运行执行 blew -v 查看版本号,确定是否安装成功
    2)安装nodes.js
    a.首先安装 nvm ,nvm使你可以可以同时安装多个版本的Node.js,并且在这些版本之间轻松切换。
    安装- 终端命令输入curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
    这个过程其实就是 去https://github.com/creationix/nvm#installation 把一个 install script xi运行
    下载执行完毕后会提示你没有设置环境变量啥的,通过终端在根目录下建立一个 .bashrc 及./bash_profile
    加入下面内容
    export NVM_DIR=”/Users/cbf/.nvm”
    [ -s “NVM_DIR/nvm.sh" ] && . "NVM_DIR/nvm.sh” # This loads nvm
    export ANDROID_HOME=~/Library/Android/sdk # 这个是你的sdks环境变量
    然后进入 .nvm 文件夹下执行 ./install.sh 即可安装成功
    然后 nvm -v 查看是否安装成功
    b.安装node,终端安装命令
    nvm install node && nvm alias default node
    安装完成后,通过 node 命令确定是否安装成功
    3)安装watchman
    在命令行中输入brew install watchman,我们推荐安装watchman,否则你可能会遇到一个Node.js监视文件系统的BUG。
    4)安装flow
    如果你希望使用flow来为js代码加上类型检查,那么在命令行中输入brew install flow来安装flow。
    5)OS开发环境准备
    需要xcode 7以上,我下载的事xcode7.2 ,需要os x 10.10.5 版本才能支持
    6)快速开始
    由于众所周知的网络原因,react-native命令行从npm官方源拖代码时会遇上麻烦。请将npm仓库源替换为国内镜像:
    终端-》
    npm config set registryhttps://registry.npm.taobao.org
    npm config set disturlhttps://npm.taobao.org/dist
    npm install -g react-native-cli
    init 项目命令
    react-native init AwesomeProject #新建一个项目
    不过这个时间太久,推荐使用下面网址的项目,解压后直接可以运行
    http://bbs.reactnative.cn/topic/11/react-native%E4%B8%AD%E6%96%87%E7%BD%91%E5%AE%98%E6%96%B9%E5%8F%91%E5%B8%83%E5%AE%8C%E6%95%B4%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%8C%85-
    %E6%97%A0%E9%9C%80init%E7%9B%B4%E6%8E%A5%E8%BF%90%E8%A1%8C
    7)运行iOS应用
    cdAwesomeProjectXCodeios/AwesomeProject.xcodeprojRun使index.ios.js便iOSEmulatorRAPPAndroid8android cd AwesomeProject
    $ react-native run-android
    使用你喜欢的文本编辑器打开index.android.js并随便改上几行
    按Menu键(通常是F2,在Genymotion模拟器中是⌘+M)然后选择 Reload JS 就可以看到你的最新修改。
    在终端下运行adb logcat *:S ReactNative:V ReactNativeJS:V可以看到你的应用的日志。
    windows 下安装环境未亲自过坑,大家可以参见一下博客尝试
    http://www.cnblogs.com/meteoric_cry/p/4874517.html

    1.4 基础开发工具与调试
    我用的是sublime Text ,另外装了些代码补全和高亮的插件,插件通过Package Install 来安装
    安装的插件见下图

    1. React Native 开发基础
      2.1flexbox 布局基础知识
      什么是Flexbox
      Flexbox 是css3 里面引入的布局模型-弹性盒子模型,旨在通过弹性的方式来对齐河分布容器中的内容空间,
      使其能够适应不同屏幕的宽度。react nativie中 的flexbox 是这个规范的一个子集
      Flexbox解决了什么问题?
      浮动布局
      不同宽度屏幕的适
      宽度自动分配
      水平垂直居中

      Flex 属性
      容器属性
      flexDirection : row,row-reverse,colum,colum-reverse #类型于linerlayout 里的 orientation 属性
      flexWrap : wap,nowap,wap-reverse #textview 是否换行
      alignItems : flex-start,flex-end,center,stretch # item 的 排列对齐方式 ,上对齐,下对齐 上下间距对齐, 以及严苛对其
      justifyContent:flex-start,flex-end,center,space-between,space-roud # 类似于linerlayout里 layout_gravity 属性

      元素属性
      flex :number #类型于weight 属性
      alignSelf :atuo,flex-start,flex-end,center,stretch #类似于 gravity 属性
      其他
      flex-flow flexDirection 和 flexWrap 属性 的简写形式,默认值为 row nowrap
      更详细的布局知识可以参见下面
      React Native 布局指南-v4.pdf

      2.2.JaveScript 语法基础
      经常看到源码里面符号 =>表示的意思
      //ES
      var selected = allJobs.filter(function (job) {
      return job.isSelected();
      });

      // ES6
      var selected = allJobs.filter(job => job.isSelected());

      2.3 React Native 开发基础支持及代码解读
      在React中,所有UI的组件都被放置在render()方法中,并且被state状态控制。
      你的render()方法定义了UI在各种状态是如何展现的。当调用setState()的时候,React会找到需要改变的部分并替你修改。
      一个简单的按钮时间可以通过如下表示
      {this.state.buttonClicked ? ‘Hello World’ : ‘Goodbye World’}
      this.setState({buttonClicked:!this.state.buttonClicked});

      2.4 组建生命周期图
         就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle)。所谓生命周期,
         就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。RN 组件的生命周期整理如下图:
      

      可以把组件生命周期大致分为三个阶段:
      第一阶段:是组件第一次绘制阶段,如图中的上面虚线框内,在这里完成了组件的加载和初始化;
      第二阶段:是组件在运行和交互阶段,如图中左下角虚线框,这个阶段组件可以处理用户交互,或者接收事件更新界面;
      第三阶段:是组件卸载消亡的阶段,如图中右下角的虚线框中,这里做一些组件的清理工作。

      学习更详细信息参考链接
      通往全栈工程师的捷径 —— React
      http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=401107957&idx=1&sn=200418877771f656c1a0ab33ad407516&scene=1&srcid=1119XfFA8t5QQprIjzp76fcr&key=ff7411024a07f3ebf6601418be94ccd6219ed18e580029547278b6eadd5def524defc8dbfdfcf673a7daa87723cfa4bb&ascene=0&uin=NTYzMDc5MTc1&devicetype=iMac+MacBookPro11%2C1+OSX+OSX+10.11.1+build(15B42)&version=11020201&pass_ticket=a82zcv0P%2B6ztN4xgcdnD%2FWtFbQjxhMOiiUJGZVbk6FUhTeozLqrMlGuES%2FvVmaI0

    React Native 中组件的生命周期
    http://www.race604.com/react-native-component-lifecycle/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

    1. 编写第一个React Native Demo

    2. React Native 在实际项目的应

    5.学习参考网址

    参考资料
    http://reactnative.cn/docs/navigatorios.html#content# react native 中文社区
    http://www.jianshu.com/p/96febc4fec45 #平安科技移动开发二队技术周报(特别版のReact Native专题)
    http://www.cnblogs.com/unofficial/p/4843734.html #window 下搭建react native 环境
    http://www.cnblogs.com/meteoric_cry/p/4874517.html # 踩过的坑
    http://stackoverflow.com/questions/32572399/react-native-android-failed-to-load-js-bundle # mac 下模拟器调试出问题,参见这个
    The emulator (already launched) will return: Unable to download JS Bundle; start again the JS server:
    react-native start Hit Reload JS on the emulator. It worked for me. Hope it will help
    http://www.oschina.net/translate/going-native-with-react # react native app 简单教程
    https://github.com/xujinyang/react-native-android-guide

    加群请扫码
    这里写图片描述

    展开全文
  • React-Native App开发流程

    2020-09-29 13:59:34
    1.设置淘宝npm仓库,vs code...2.初始化app项目,执行: npx react-native init myapp 如图: 3.初始化npm: 要在myapp目录里面执行。 4.本地安装yarn: npm install yarn --save-dev 5.运行项目: .

    1.设置淘宝npm仓库,vs code打开指定目录,切换到控制台,执行:

    npm config set registry https://registry.npm.taobao.org

    这样的话就不需要下cnpm了。如图:

    2.初始化app项目,执行:

    npx react-native init myapp

    如图:

    3.初始化npm:

    要在myapp目录里面执行。

    4.本地安装yarn:

    npm install yarn --save-dev

    5.运行项目:

    .\node_modules\.bin\yarn android

    如果是ios,则执行:

    .\node_modules\.bin\yarn ios

    如果你有模拟器,并且连接上了你的vs code,那么初始页面将自动加载到你的模拟器中并且打开:

    这里我用的android studio自带的模拟器,执行命令后,该模拟器会自动打开,如下:

     

    展开全文
  • react-native 一般要用react-redux框架 简单的来说react-redux依赖redux,redux专门负责数字和逻辑管理的 而react-native只负责UI的呈现,这样对于大项目就很好的管理state 记住react-native不需要调用redux api ...
  • Android原生App跳转到React Native App

    千次阅读 2018-05-21 21:05:11
    前言众所周知,react native开发是前几...主要讲了react native和原生的app之间的通讯与沟通。首先,react native的配置就不做赘述。具体可参考:React Native中文网: https://reactnative.cn/docs/0.20/android-set...
  • Native App-原生开发 开发技术 原生的 Android 平台 原生的 iOS 平台 JavaScript bridge 用于原生应用中的 Web 和原生平台进行交互。 https://github.com/lzyzsd/JsBridge 博学谷 - 在职加薪课 《和原生交互的 ...
  • ReactNative 开发Android App

    千次阅读 2020-05-23 13:49:53
    Android开发平台 谷歌在2007年发布Android 是一个开源的基于 Linux 的移动设备操作系统 支持的设备: phone… 语言: 开发语言是java , 后来因为甲骨文准备对android java收费, 又开始向Kotlin转移 IDE: 开发工具...
  • Native向左,HTML5向右,两者都是为了解决移动应用的问题...为结合HTML5开发便利动态性强和Native体验佳性能优的特点,让未来趋势和现实要求结合,鸟巢(Birdnest Native),一种全新的Native APP开发模式,应运而生。
  • 0.虽然使用手游为例,但适用于任何原生C++ NDK编译方式。 1. 先说说项目背景, cocos2dx的手游,开发一般在windows vs下开发调试,IOS下使用xcode也能很方便的... ,cygwin gdb-ndk,ecplise下android native app
  •  今天在微信公众号中看到了一篇谈论APP移动开发的未来的文章,看到了RN和weex,所以就想总结一下自己的理解,只谈一些自己的理解,暂不讨论技术。 APP发展路线大概是:Web——>Native——>Hybrid——>Reactive ...
  • WebApp是指使用HTML5编写的移动Web应用,webapp可以运行在PC、Android、iOS端等,不受限于系统,依赖于浏览器。 优点: (1)前端开发语言不受限制 (2)开发成本相对较低 (3)版本更新快,没有限制,维护简单 ...
  • 生成keystore密钥 keytool -genkey -v -keystore my-test.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000 ...1、把keystore文件放到你工程中的android/app文件夹下(app/assert/my-test.
  • Android中使用NativeActivity进行APP开发

    千次阅读 2017-04-09 22:52:24
    自古以来,Android的主要开发语言都是以Java为主,也有很多开发者使用其他语言,当然也有混合开发的,比如Java&C or Java&C++等,一直以来,Android开发语言层出不穷 现在看来,Android开发语言相当多,像什么C# for ...
  • 使用WebStorm 开发React Native Android APP的配置本教程可以帮助你对WebStorm 进行配置,适用于开发React Native app 1:安装 2:环境配置 3:安装插件 4:Enjoy it 安装1:安装nodejs 与NPM 从以下链接下载Nodejs 并...
  • 实践了下Moscrif,就是那个javascript开发native app的解决方案。 与PhoneGap等方案不同的是,PhoneGap是糅合html的解决方案,不是真正的Native APP(性能打折扣);而Moscrif则是利用javascript开发Native APP,也...
  • 1 cordova 基础介绍1.1 cordova架构介绍1.2 cordova环境搭建及通过cordova cli创建cordova app1.2.1 npm环境搭建1.2.2 生成hello world工程代码1.2.3 前端工程代码结构解析1.2.4 ios工程代码结构解析1.2.5 android...
  • Native APP学习

    热门讨论 2016-09-25 16:40:08
    Naive APP是一种基于智能手机本地操作系统如IOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地APP。 如下图所示: 相对比本地APP而言的是Web APP(没有本地应用程序,依赖于网页形式的APP)...
  • native APP,hybrid APP和web APP

    万次阅读 多人点赞 2018-08-29 18:53:49
    native APP,hybrid APP和web APP三者的区别 随着智能手机的普及,移动端应用几乎成为每个互联网产品的标配。在快速迭代的互联网战场中高效开发、低成本上线产品,是每个应用开发团队追求的目标。此时,选择合适的...
  • Native App、Web App以及HyBrid App

    千次阅读 2018-12-18 17:13:07
    在App世界中,一直存在三种App:Native App、Web App以及HyBrid App。本文详细介绍了三种App开发方式、以及各自的发展历史和优缺点。
  • Native App,以基于智能手机本地操作系统如IOS、Android、WP并使用原生程式(SDK)编写运行的需要用户安装使用的第三方应用程序; Web APP,以HTML+JS+CSS等WEB技术编程,代码运行在移动端浏览器中,通过该移动端...
  • ...目前主流应用程序大体分为三类:Web App、Hybrid AppNative App。 一、Web App、Hybrid AppNative App 纵向对比 首先,我们来看看什么是 Web App、Hybrid AppNative App。 1. Web
  • react-native开发App过程中会遇到的问题 1、在开发的过程中直接从react-native官网init下来的的项目,react-native run-android会报这个错 遇到这种情况,如果采用npm install babel-perset-react-native,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,760
精华内容 23,904
关键字:

安卓nativeapp开发