Xian Rong

Stay hungry Stay foolish


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

ReactNative学习

发表于 2018-01-18 | 分类于 跨平台

React Native是Facebook于2015年9月15日发布的框架。该框架可以使用JavaScript和React开发跨平台移动应用。
RN是面向组件开发。
React Native特点:
1)使用 Virtual DOM(虚拟DOM,存在于内存之中的一种数据结构,可以极大提高网页的性能)
2)提供了响应式(Reactive)和组件化(Composable)的视图组件;
3)将注意力集中保持在核心库,伴随于此,有配套的路由和负责处理全局状态管理的库。
React Native的优势:
1)跨平台开发:使用同一份业务逻辑核心代码来创建原生应用运行在Web端,Android端和iOS端;
2)追求极致的用户体验:实时热部署
3)learn once,write everywhere
目前react native在iOS上仅支持ios7以上,Android仅支持Android4.1以上版本;
开发者可以灵活的使用HTML和CSS布局,使用React语法构建组件,实现:Android, iOS 两端代码的复用。
Image text

阅读全文 »

HBuilder项目本地打包及混合开发

发表于 2018-01-15 | 分类于 跨平台

最近接触了一个DCloud(数字天堂)平台的HBuilder(IDE)编写的移动APP项目,该平台提供了MUI、5+Runtime、Native.js做支持快发,再通过云打包和本地打包两种方式,实现一套代码打包成为两端(iOS和安卓)的APP。
MUI:前端UI框架
5+Runtime:增强版的手机浏览器引擎
Native.js:封装一条通过JS语法直接调用Native接口通道,通过plus.ios可调用几乎所有的系统API。
HBuilder的云端打包可以很方便的打包出两端的包(不能超过40M),此处不再累赘。

项目需求:改造一个HBuider编辑器开发的移动APP项目,把其中一个直播页面使用iOS原生控制器,加载腾讯云SDK拉流实现直播画面。
目的:在不大量改动原项目基础上,提高直播页用户体验。
方案一:整个直播页面上视频层和交互控件都使用原生控件,使用js与原生之间的交互。
方案二:使用原生控制器加载视频层放于最底下,上面交互控件直接使用webView加载一个透明背景的H5页面。这样业务逻辑处理更多使用原始项目的js本身。
该项目涉及到的有本地打包、H5前端与iOS原生交互的两个部分。

阅读全文 »

Mac系统上IntellijIdea+tomcat+mysql环境搭建

发表于 2017-12-22 | 分类于 JAVA

Apache Tomcat安装

Mac系统自带的Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。Tomcat无法取访问Appache资源)。Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理。

1、下载Apache Tomcat,在Download里选择对应版本,选择Core里的zip或者tar.gz都可以(这里下载8.5.24版本)

阅读全文 »

配置mac本地服务器

发表于 2017-12-21 | 分类于 JAVA

apache服务器配置

mac中已经默认安装了apache服务器,也就是网站服务器,默认该服务是没有启动的

1、终端启动服务器:sudo apachectl -k start
输入电脑密码,接着出现类似信息:
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using xianrongdeMacBook-Pro.local. Set the ‘ServerName’ directive globally to suppress this message
此条信息可以忽略
如果强迫症犯了,可以输入sudo vi /etc/apache2/httpd.conf进入配置文件。输入i进入编辑状态,查找到#ServerName www.example.com:80这一行,在下一行输入ServerName localhost:80,然后按esc键退出,再输入:wq!保存配置文件。

阅读全文 »

JAVA入坑

发表于 2017-12-19 | 分类于 JAVA

前期准备

JVM (Java Virtual Machine):Java虚拟机。
JRE (Java Runtime Environment):Java运行环境,如果要运行Java程序,就需要JRE的支持。
JDK (Java Development Kit):Java开发工具,包含开发Java程序的所有工具,如javac和java等。
Image text

阅读全文 »

iOS与JS交互

发表于 2017-12-13 | 分类于 跨平台

iOS中调用JS

先写JS操作语句,再通过IOS中的webView执行这个条JS语句。
使用UIwebView调用的是stringByEvaluatingJavaScript(from:jsStr)这个方法
使用WKWebView调用的是evaluateJavaScript(jsStr) { (result, error) in }

阅读全文 »

JS的CRUD

发表于 2017-12-12 | 分类于 跨平台

window

1、window的特点
所有全局变量都是它的变量
所有全局函数都是它的函数
2、通过JS代码动态跳转页面

1
2
location.href = 'http://www.baidu.com';
window.loction.href = 'http://www.baidu.com';

document

1、document的用途:
可以用来获得网页中的任何一个元素
可以创建HTML元素
动态的获取网页中所有的节点
可以动态的对节点进行CRUD(增删改查)
……
2、常用方法
getElementById (id名)
getElementsByClassName (className)
getElementsByName (标签的内部属性name)
getElementsByTagName (标签名)

阅读全文 »

渐变色效果

发表于 2017-12-06 | 分类于 OC

使用Core Graphics框架下的Quartz 2D实现渐变效果

Quartz 2D 的渐变方式分为两种:
1、线性渐变:渐变色以直线方式从开始位置逐渐向结束位置渐变
2、放射性渐变:以中心点为圆心从起始渐变色向四周辐射,直到终止渐变色
使用中我们可以直接绘制一个渐变,也可以将渐变填充到现有的图形路径上

使用CAGradientLayer来实现渐变背景

CAGradientLayer 是 CALayer 的子类,可以理解为一个渐变层。如果使用的是透明的颜色,还可以做到透明渐变。
CAGradientLayer 目前只能实现线性渐变,还不能实现放射性渐变。
CAGradientLayer 对象最主要的就是如下 4 个属性:
1、colors:颜色数组,定义渐变层的各个颜色。
2、locations(可选):决定每个渐变颜色的终止位置,这些值必须是递增的,数组的长度和 colors 的长度最好一致。
3、startPoint(可选):渲染的起始位置,默认值是:[.5,0](具体坐标系参考下图)
4、endPoint(可选):渲染的终止位置,默认值是:[.5,1](具体坐标系参考下图)

汇编语言(转)

发表于 2017-11-14 | 分类于 Other

汇编语言(Assembly Language):用符号代替0和1,比机器语言便于阅读和记忆。
学习汇编语言的用途:弄清代码的本质
推荐阅读:《汇编语言》王爽
Image text

阅读全文 »

函数式编程

发表于 2017-11-13 | 分类于 Swift

函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。
函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)

阅读全文 »
123…5
XianRong

XianRong

yhtyhrt66@gmail.com

45 日志
6 分类
6 标签
© 2018 XianRong
由 Hexo 强力驱动
主题 - NexT.Pisces