移动端前端开发设计稿及工作流的探索和思考

今天我们再来说说移动端的前端开发。关于移动端的一些注意事项,我前面写过几篇文章。例如手机网站几点注意问题 等等。这些都是在我们手机开发中遇到的问题。但是当我们拿到移动端的设计稿的时候,如何让我们的设计稿更好的适应各种手机屏幕?又因为设计稿尺寸一般是我们正常手机屏幕的2-3倍,假如我们拿到移动端的设计稿宽度尺寸是640,如何才能把这个640的尺寸中的各个元素精确的拿到呢?

我们的探索

之前传统做法:

我前面也有几篇文章,说到过rem单位,例如:CSS的单位rem的看法 等。起初,我们做移动端开发的时候,拿到设计师们的设计图的时候,发现尺寸很大,和我们实际布局网页宽度,320、375有出入。那么如何进行移动端的布局呢?我们运用了最笨的办法,先把设计图按照百分比进行缩放,缩放到320左右的时候,再进行页面的书写。我们运用了rem,但是不是所有的div和元素都用rem,因为div运用rem的时候,转化为px会和之前换算的有点出入。没有办法,我们只是针对字体运用rem,div、padding、margin等还是用px作为单位。

这样做,垂直高度方面,大屏幕显示的内容多,小屏幕显示的内容少!且屏幕不同,有些地方间距会不同。因此,在有些时候,关键部分,产品要我们在所有尺寸屏幕都要显示一样,这样的话,我们这种布局就会有问题了!

改进后的做法

后来我们全站都用rem,包括padding,margin,height,width等。我们的做法是引进了如下js

javascript“类”与继承总结和回顾2

前面一篇文章,我简单的讲了Es6以前js实现“类”的三种方式。http://www.haorooms.com/post/js_lei_jicheng ,但是继承的方式,我只简单写了一下极简主义继承。这篇文章在上篇文章基础之上,我再写写js继承的几种方式,最后再和大家一起看看ES6中类的实现方式。

js继承

关于继承,网上也有很多资料可以查询,但是很多朋友对其理解的不够深入。讲到继承,假如你不去查资料,猛地一下,可能说不出个所以然来。这就说明我们的基础知识打的不够扎实。没有理解透彻。今天,我站在前辈的基础之上,再来和大家一起回顾一下这个 继承。

继承最常用的两种方式如下:

原型链继承(对象间的继承)
类式继承(构造函数间的继承)

原型链继承

什么是原型链继承?这里我就不说什么定义了。其实就是用prototype继承父级。

举个例子:

javascript“类”与继承总结和回顾

Javascipt语法不支持"类"(class)[es6已经支持],但是有模拟类的方法。今天我主要谈谈Javascipt中模拟“类”的方法及js中继承的总结和回顾。

js中实现“类”与继承,既是重点,又是难点。很多同学可能都对js中“类”与继承都有所了解,但是深入剖析的时候,感觉力不从心、模棱两可。

下面我们一起来总结一下,巩固提高一下js的基础知识。关于js的基础知识,我在之前写过一个关于js老生常谈之this,constructor ,prototype; 有兴趣的同学可以去深入了解一下!

我们先来总结一下js定义“类”的几种方法:

方法一:构造函数法

这个方法是比较经典的方法,我们会经常见到。生成实例的时候,使用new关键字。类的属性和方法,还可以定义在构造函数的prototype对象之上。

谈谈inline-block的几个神奇的用法

前言

inline-block,我们平时用的很多,最普通的用法就是几个div在一行中显示,我们用display:inline-block。今天之所以写这篇文章,主要是写inline-block的几个比较奇特的用法。

实现div宽度根据内容自适应

我们知道div是块级元素,假如我们不设置宽度,那么div的宽度默认是100%;问:要想div宽度根据内容自适应怎么办?

请看下面代码:

谈谈近期学习Nativejs和reactNative的一些感受

因为前段时间,对dcloud推出的Nativejs和facebook推出的reactNative都做了一点点浅薄的研究。因为研究的很浅薄,所以仅代表我个人观点,谈谈对运用这两个产品的些许感受。

说起dcloud的Nativejs,还是先从他的IDE编辑器开始说起。他们推出的Hbuilder,确实蛮好用,写起代码来确实很快。之前觉得sublime好用,但是当你用了Hbuilder之后,sublime顿时逊色不少。用了一段时间的Hbuilder,感觉其唯一的缺点就是用git库pull下来的文件,不会时时刷新。

说到用Hbuilder开发APP。我们可以下载其官方的案例,开发学习成本是很低的,入手极快,因为它就是运用html5及一些css做得一些开发。再看看他们用js封装的一些原生用法:

安卓:http://www.html5plus.org/doc/zh_cn/android.html#

ios:http://www.html5plus.org/doc/zh_cn/ios.html