1. html5 css3移动端开发怎么写
第一部分:HTML5新标签和新功能说明
HTML5 提供了很多新的功能,主要有:
新的 HTML 元素,例如 section, nav, header, footer, article 等
用于绘画的 Canvas 元素
用于多媒体播放的 video 和 audio 元素
用于定位的 Geolocation API
本地存储以及离线应用
Web Workers、Web WebSocket API
移动前端开发可分为:
手机网页开发。这部分跟web前端开发差别不大,使用的技术都是html+css+js。区别为手机浏览器是webkit的天下,pc端是IE的天下。
app前端开发。使用的技术也是html+css+js,但它需要基于PhoneGap,React Native等开发平台调用手机核心功能接口(包括地理定位,加速器,联系人,声音和振动等)模拟native app,这部分跟web前端开发完全不同。最终代码发布要分别编译成各系统平台的app。
2. 移动端要怎么做呢,这里介绍的是安卓手
从原理开始介绍一下移动端设计尺寸规范 初涉移动端设计和开发的同学们,基本都会在尺寸问题上纠结好一阵子才能摸到头绪。
我也花了很长时间才弄明白,感觉有必要写一篇足够通俗易懂的教程来帮助大家。从原理说起,理清关于尺寸的所有细节。
由于是写给初学者的,所以不要嫌我啰嗦。 现象 首先说现象,大家都知道移动端设备屏幕尺寸非常多,碎片化严重。
尤其是Android,你会听到很多种分辨率:480x800, 480x854, 540x960, 720x1280, 1080x1920,而且还有传说中的2K屏。近年来iPhone的碎片化也加剧了:640x960, 640x1136, 750x1334, 1242x2208。
不要被这些尺寸吓倒。实际上大部分的app和移动端网页,在各种尺寸的屏幕上都能正常显示。
说明尺寸的问题一定有解决方法,而且有规律可循。 像素密度 要知道,屏幕是由很多像素点组成的。
之前提到那么多种分辨率,都是手机屏幕的实际像素尺寸。比如480x800的屏幕,就是由800行、480列的像素点组成的。
每个点发出不同颜色的光,构成我们所看到的画面。而手机屏幕的物理尺寸,和像素尺寸是不成比例的。
最典型的例子,iPhone 3gs的屏幕像素是320x480,iPhone 4s的屏幕像素是640x960。刚好两倍,然而两款手机都是3.5英寸的。
所以,我们要引入最重要的一个概念:像素密度,也就是PPI(pixels per inch)。这项指标是连接数字世界与物理世界的桥梁。
Pixels per inch,准确的说是每英寸的长度上排列的像素点数量。1英寸是一个固定长度,等于2.54厘米,大约是食指最末端那根指节的长度。
像素密度越高,代表屏幕显示效果越精细。Retina屏比普通屏清晰很多,就是因为它的像素密度翻了一倍。
倍率与逻辑像素 再用iPhone 3gs和4s来举例。假设有个邮件列表界面,我们不妨按照PC端网页设计的思维来想象。
3gs上大概只能显示4-5行,4s就能显示9-10行,而且每行会变得特别宽。但两款手机其实是一样大的。
如果照这种方式显示,3gs上刚刚好的效果,在4s上就会小到根本看不清字。 在现实中,这两者效果却是一样的。
这是因为Retina屏幕把2x2个像素当1个像素使用。比如原本44像素高的顶部导航栏,在Retina屏上用了88个像素的高度来显示。
导致界面元素都变成2倍大小,反而和3gs效果一样了。画质却更清晰。
在以前,iOS应用的资源图片中,同一张图通常有两个尺寸。你会看到文件名有的带@2x字样,有的不带。
其中不带@2x的用在普通屏上,带@2x的用在Retina屏上。只要图片准备好,iOS会自己判断用哪张,Android道理也一样。
由此可以看出,苹果以普通屏为基准,给Retina屏定义了一个2倍的倍率(iPhone 6plus除外,它达到了3倍)。实际像素除以倍率,就得到逻辑像素尺寸。
只要两个屏幕逻辑像素相同,它们的显示效果就是相同的。 Android的解决方法类似,但更复杂一些。
因为Android屏幕尺寸实在太多,分辨率高低跨度非常大,不像苹果只有那么几款固定设备、固定尺寸。所以Android把各种设备的像素密度划成了好几个范围区间,给不同范围的设备定义了不同的倍率,来保证显示效果相近。
像素密度概念虽然重要,但用不着我们自己算,iOS与Android都帮我们算好了。 如图所示,像素密度在120左右的屏幕归为ldpi,160左右的归为mdpi,以此类推。
这样,所有的Android屏幕都找到了自己的位置,并赋予了相应的倍率: ldpi [0.75倍] mdpi [1倍] hdpi [1.5倍] xhdpi [2倍] xxhdpi [3倍] xxxhdpi [4倍] 各型号iPhone的倍率比较简单,我们后面会讲到。那么Android手机那么多,具体怎么分?哪些手机是几倍的倍率呢?我们先看一张表,这是友盟2014年10月到2015年03月的数据: 就目前市场状况而言,各种手机的分辨率可以这样粗略判断。
虽然不全面,但至少在1年内都还有一定的参考意义: ldpi 如今已绝迹,不用考虑 mdpi [320x480](市场份额不足5%,新手机不会有这种倍率,屏幕通常都特别小) hdpi [480x800、480x854、540x960](早年的低端机,屏幕在3.5英寸档位;如今的低端机,屏幕在4.7-5.0英寸档位) xhdpi [720x1280](早年的中端机,屏幕在4.7-5.0英寸档位;如今的中低端机,屏幕在5.0-5.5英寸档位) xxhdpi [1080x1920](早年的高端机,如今的中高端机,屏幕通常都在5.0英寸以上) xxxhdpi [1440x2560](极少数2K屏手机,比如Google Nexus 6) 自然地,以1倍的mdpi作为基准。像素密度更高或者更低的设备,只需乘以相应的倍率,就能得到与基准倍率近似的显示效果。
不过需要注意的是,Android设备的逻辑像素尺寸并不统一。比如两种常见的屏幕480x800和1080x1920,它们分别属于hdpi和xxhdpi。
除以各自倍率1.5倍和3倍,得到逻辑像素为320x533和360x640。很显然,后者更宽更高,能显示更多内容。
所以,即使有倍率的存在,各种Android设备的显示效果仍然无法做到完全一致。 单位 不难发现,真正决定显示效果的,是逻辑像素尺寸。
为此,iOS和Android平台都定义了各自的逻辑像素单位。iOS的尺寸单位为pt,Android的尺寸单位为dp。
说实话,两者其实是一回事。 单位之间的换算关系随倍率变化: 1倍:1pt=1dp=1px(mdpi、iPhone 3gs) 1.5倍:1pt=1dp。
3. 自己写的移动端怎么打包成app
首页得准备好需要的东西,如eclipse,一个完整可以浏览的手机网站,而且确保电脑配置好jdk,环境变量,还要安装好cordova,这些环境等配置这里不表,可以自行百度。在这里我就自己随意写了个网站做测试,从下图可以看出来,这是一个可以在网页中浏览的手机网站
有了网站之后,第一步新建一个项目,打开你要保存的项目地址,比如D盘的yun文件夹,按住键盘的shift键+鼠标右键,选择“在此处打开命令窗口”,就会弹出一个终端命令窗口,打开之后在终端里面输入cordova
create hello,hello为你的项目名称,如cordova create
qianqian,qianqian就是我的项目名称,注意,不要手动去创建文件夹,因为我们在终端里面建的项目里面有很多的配置文件,终端命令窗口不要关
在终端命令窗口中输入cd
qianqian,进入qianqian文件夹,然后再输入cordova platform add
android,回车,等待下载完成,记住在下载之前一定要确保已经安装git,要不然会下载失败,本人亲自试验,下载可以要1分钟左右,下载完成后终端命令窗口不要关,等下要用
下载完成后将准备好的网站放到www文件夹里面,原来的文件可以删掉,再打开eclipse软件,点击菜单栏file--import,弹出一个窗口,选择下面图片中的选项,再点next,之后点击Browse,选择qianqian文件夹项目的路径,选取,记住,复选框一定要全部选上,不懂的看下面的图片,然后确定就可以了
确定之后就会看到下面图片一样左边会出现两个项目,为了确保项目一次性完成,我们可以在终端窗口里面输入cordova prepare,输入前确保是在当前qianqian文件夹,这个命令是在修改过项目的情况下运行的,等待他运行完,下面第二张图片是运行完成的图片
ok,之后就可以打包webapp了,回到eclipse,我们发现项目文件有个红叉,或者也会出现一个感叹号之类的,出现这个情况的话可以点击菜单栏project--clean,在弹出的窗口中选择第二个单选项,下面的复选框全部选上,不懂看图,确认之后就可以看到红叉没了
然后在项目栏里选择第二个项目右键选择run as--android application,之后等待半分钟左右,主要是看电脑运行速度好不好了,好的话就快
最后如果你手机连接着电脑或者你电脑开着安卓虚拟机的话,在弹出的窗口就会出现你手机或者虚拟机的信息,选择他再点ok,系统会自动跳到虚拟机里,如果是真机的话,就直接看你的手机就行,手机会自动安装app应用的
如果两者都没有的话可以将弹出的窗口都关闭,然后在软件项目栏的第二个项目里面有个bin文件夹,打开,里面有个apk,将他复制出来安装到自己手机或其他机器里就行了,下图就是webapp做出来的最终效果,一开始忘记上传图片,只上传了代码,所以app里面没有图片,不过效果总算是出来了
4. 移动端web应该如何去编写
开Chrome开发者工具,有一个设备模式,就是左上角小手机的按钮,点一下,有彩蛋。
2.一般来说,介于不同手机的不同dpr没法用px做单位,会用到rem,小姐姐rem有么有兴趣了解一下,另外有一个淘宝的flexible(好像是叫这个吧?),小姐姐有没有兴趣了解一下?
3.关于meta标签的设备定义,看一下吧,不需要背和手写,看到了知道就好,写代码为数不多的允许CtrlC CtrlV的地方,这种算一个。另外由于除了不同设备,很多操作系统版本不同也会导致不同的兼容性,主要是样式问题,Chrome无法完全模拟,最好有真机调试,连本地局域网方位对应端口ip在手机直接看,如果是用node启服务,可以用个browser-snyc同步电脑手机视图。没有真机就用各种模拟器,这个要收集了。