12小时包你学会基于ReactMix框架的ReactNativeApp开发(一)Hello World!

摘要:
答案当然是没有问题的。在这里,只要您通过我们的ReactMix框架,您就可以在12小时内开始应用程序开发。首先,ReactMix的基础是在ReactNative的基础上实现一层语法糖,这帮助每个人轻松方便地实现在一行代码中吃H5、Pc、iOS、Android和winphone的梦想。因此,以每个人都接触最多的H5开发示例为例,首先,我们需要知道我们在哪些页面上绘制页面?在ReactMix中,我们还提供了这些元素。唯一的区别是第一个字母是大写的,例如Div、Span、Input、Select、Button。为什么第一个字母应该大写?第一个HelloWorld已经完成,总共耗时不超过1小时~^_^

ReactMixhttps://github.com/xueduany/react-mix自从昨天发布起来,得到了不少小伙伴的热捧,很高兴帮助大家解决了憋在心中很久的问题“如果我只会HTML,Css,Jquery”,我可以不用学习就会什么MVVM啦?会ReactNative啦?答案自然是没问题,在这里,只要你通过我们的ReactMix框架,你都可以在12小时内上手一个App开发工作。就让我们来试试吧。

首先申明,ReactMix的根基是在ReactNative的基础上实现了一层语法糖,帮助大家轻松方便的实现一行代码通吃H5,Pc,iOS,安卓,winphone的梦想,那么以大家接触最多的H5开发举例,首先我们要知道我们是基于什么绘制页面的?

对,基于HTML,那么在HTML里面最常见的元素有哪些?

答案:盒模型

分为块元素,行内元素,快元素好理解,就是div咯,行内元素,一般就是文本节点元素,比如span

还有表单元素,如输入框input,select下拉框,button按钮元素

基本有了以上这些,我们就可以撑起来一个页面的html来了,对吧。

在ReactMix中,我们也提供这些元素,唯一的区别是首字母是大写的,比如Div,Span,Input,Select,Button,为什么首字母要大写呢?因为首先在ReactNative里面是没有HTML这些元素的,这些元素是我们封装的近似的自定义组件,在ReactJs的规范里面,对于非系统提供的组件,必须首字母大写,实现区分,但是用法和属性和我们在HTML里面使用的这些元素是一样一样滴

Ok,那么第二个学习的点来了,ReactNative是基于JSX语法来实现模板的,什么叫做JSX呢?相信用过ReactJs的同学应该有所耳闻

image

类似这种,这就是JSX的语法,很想HTML的写法,就是属性的值,等于号后面如果是一个对象的话,基于{}大括号抱起来,可以写js代码

同学们看到图片中语法都是ES6+的语法,有很多新的js特性的语法糖,很多人可能会问了,如果这么写,那么老版本的浏览器支持吗?答案是肯定的,因为我们的ReactMix有一个同步翻译机制,可以把这些新语法风格的代码原封不动的翻译成ES5的代码,保证可以在老版本的浏览器正常的跑起来。同时也支持对于新语法的动态调试,就像这样

G1JWKN{~NTXNGHIL1IM7OS4

%HZ}CC1DTCPWA2M1ELE[](4

基于WebPack和sourceMap,我们依然可以很轻松直接调试es6语法的js代码

Ok,首先我们需要从github上checkout代码https://github.com/xueduany/react-mix,(最好是Mac系统,目前所有的bash脚本都是基于Mac系统写的)

然后执行执行install.sh,主要功能就是在ReactMix项目根目录执行npm install,和在ReactMix/reactnative子目录里面执行npm install

这里为什么会有一个独立的ReactNative子目录呢?

是这样的,因为ReactNative项目默认是不支持css格式的样式文件的,所以我们把Css目录放在了ReactNative目录外层,通过自动化编译工具React.css.build.js,来实现对于Css的同步翻译到ReactNative目录中

另外对于H5的代码也是同理,这部分代码在ReactMix/Web目录中,因为UI Component这块是为了节约带包脚本,就没有通过if else的逻辑区分,而是直接拆分成为了同名的两个不同实现的文件,分别放在了ReactNative目录和Web目录中,便于区分是H5使用还是App使用,但是接口保持一致

Ok,npm install完毕之后,我们打开ReactMix/reactnative/ios/native.xcodeproj,打开Xcode界面,点击run

image

你就可以直接在模拟器看到我们美丽的何穗姐姐了

下面我们来写第一个Hello World的页面

我们打开ReactMix/reactnative/index.js

image

清空全部代码,输入以下ReactJs代码

首先定义个继承与基类App的静态类叫做HelloWorld

class HelloWord extends App{

}

然后写一个render方法,返回一段JSX的文字HelloWord,并且加上样式

0NX[XP]GK@O(G0~6J0FLCNK

最后我们执行这个类的静态方法run(),看到效果

@X$AKSZ8}6J[J53SG)C3K~L

Done!Congratulation!

然后我们执行一下ReactMix根目录的WebPack同步编译一下,webpack –w –d

在浏览器打开ReactMix/web/index.html,就可以同步看到对应代码的H5同步翻译过来的版本,怎么样,是不是很神奇?第一个HelloWorld已经完成,总共用时不超过1小时~^_^

免责声明:文章转载自《12小时包你学会基于ReactMix框架的ReactNativeApp开发(一)Hello World!》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux下wc -l 命令video自动全屏播放下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android API Levels 详解

Android API Levels 当你开发你的Android应用程序时,了解该平台API变更管理的基本方法和概念是很有帮助的。同样的,知道API级别标识以及该标识如何保障你的应用与实际硬件设备相兼容对于开发及后续的发布、维护都是有益的。 本节内容告诉你API级别的知识,以及它如何影响你开发和使用的应用。 关于如何使用“以API级别进行过滤”来使用API...

angular6项目从零开始

  前言:   angular框架接触刚好一年,期间都是在前端组长的带领下写功能模块的东西。现在公司同时进行两个项目,终于有机会独立接入一个项目了!虽有些担心很多东西不懂,但更多的是兴奋和激动。能从0开始主导一个项目的开发,是极大的考验也是极大的锻炼机会。在开发前的准备阶段就已经一连串的疑问涌来了。所以,这注定是一个繁琐的过程,故开个帖子记录一下第一个项目...

【原创】进销存快速开发框架 (Winform三层架构+DevExpress+MsSQL)

进销存系统简介 进销存,又称为购销链,是指企业管理过程中采购进货 (进)--> 入库存货(存)-->销售出库(销)三个主要流程环节的动态管理过程。   进:指询价、采购到入库与付款的过程。 销:指报价、销售到出库与收款的过程。 存:指出入库之外,包括领料、退货、盘点、损益、借入、借出、调拨等影响库存数量的动作。     进销存软件是对企业生产经...

Android开发——Android搜索框架(二)

上一篇:Android开发——Android搜索框架(一) 距离上一篇文章有段时间了,唉。 接着上一篇文章,现在说说如何在搜索的时候弹出搜索历史提示。 1.创建搜索建议提供者 Android已经为我们创建了一个默认的,我们只需要继承 SearchRecentSuggestionProvider 就稍做修改就可以了。 见代码: 1: import andr...

一些值得收藏的开源框架

阅读本文大概需要 7.2 分钟。 来源:segmentfault.com/a/1190000017346799 1. 分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。 此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring C...

.NET平台常用的框架整理

分布式缓存框架 Microsoft Velocity:微软自家分布式缓存服务框架。 Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。 Redis:是一个高性能的KV数据库。它的出现很大程度补偿了Memcached在某些方面的不足。 EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布...