从零开始学习移动端Web开发

article/2025/11/7 13:39:46

背景

这里写图片描述

近年来,随着智能手机的普及,移动端开发受到了异常的关注。从传统的安卓、IOS原生手机系统应用开发,转向了移动端Web开发或者是混合开发,既然有需求,那就让我们一起来学习移动端Web开发吧。本文旨在让读者以最快的时间了解移动Web开发基础以及介绍一些常见问题。

基础准备

首先我们要有HTML/HTML5、CSS/CSS3基础知识(会简单的切图就可以了) ,如果能懂点JS那就更好啦。

其次我们要清楚一些基本概念,不然出去吹牛逼听不懂别人说的东西或者自己说出来是非常明显的错误就很尴尬啦,为了能自信满满的吹水,我们来了解下面几个基本概念吧。

  • 移动端网页开发
    在移动端表现良好的页面,如新浪网,腾讯新闻网,手机凤凰这些网站页面在移动端也有不错的表现。

  • 移动端web app开发
    简单来说就是在开发中使用一些浏览器私有的方法,使得web页面拥有一些native的功能。或者更多的是如手机taobao,手机美团,手机微博等类似web app,他们没有很明显的使用一些native功能,但是交互、设计的和app类似的网页,它是要依托浏览器来查看的。当然近期行业内还推出了多种形式的类app/webapp应用技术,比如大家熟知的微信小程序、谷歌推出的PWA(获得与安卓原生应用同等权限)、DCloud公司推出的流应用(获得W3C及国内手机厂商支持)等。

  • hybrid app开发
    也叫【套壳开发】,简单来说就是通过写特定的代码生成跨平台的web app,类似react native,phonegap,cocos2d等。可以用一些前端native开发框架或者是在移动端网页的基础上打包生成app。

基本概念有了,最后我们要有一张基于移动端尺寸的设计稿,比如750px,720px,640px等都可以。比如下面这张图。接下来我们就来实现这个移动端页面。

设计稿

动手实践

HTML示例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" /><title>舰炮与鱼雷特权</title></head><body>具体布局就不展示了</body>
</html>

html代码中最关键的就是meta标签设置,开发移动端页面首先一定要设置viewport
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />

device-width - 设备的宽度
initial-scale - 初始的缩放比例  
minimum-scale - 允许用户缩放到的最小比例   
maximum-scale - 允许用户缩放到的最大比例  
user-scalable - 用户是否可以手动缩放 

当然这只是一种方案,其次是一些辅助优化功能,常用的有如下meta标签:

<meta content="telephone=no,email=no" name="format-detection">
//禁止自动识别电话号码和邮箱
<meta content="yes" name="apple-mobile-web-app-capable">
//苹果手机:会删除默认的工具栏和菜单栏,网站开启对web app程序的支持
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
//苹果手机:在web app应用下状态条(屏幕顶部条)的颜色,默认值为default(白色),可以定为black(黑色)和black-translucent(灰色半透明)。
<meta name="apple-touch-fullscreen" content="yes" />
//苹果手机:如果把一个web app添加到了主屏幕中,那么从主屏幕中打开这个web app则全屏显示
<link rel="apple-touch-icon" href="/static/images/identity/HTML5_Badge_64.png" />
//苹果手机:将应用添加到手机主屏幕,会有一个icon可以直接进入

CSS示例

//部分重置
body {word-wrap: break-word;font: 16px/1.5 Helvetica, Arial;//这里是设置字体,Helvetica字体在移动端各系统都支持(都不支持微软雅黑)color: #333;-webkit-text-size-adjust: none; //设置文本不会放大,普通网页在移动端打开文本是会跟随网页结构缩放的
}
body *{-webkit-tap-highlight-color: transparent;//在一些手机上,如iphone,点击按钮等元素会出现点击态的背景色,设置为透明就看不出来了-webkit-user-select:none;//设置元素内的文字及其子元素将不会被选中
}
//部分样式
.pack-sub em{width:38px;height:20px;display: inline-block;margin-left: 3px;font-size: 14px;background-color: #ff599b;border-radius: 20px;
}

css中,关键点一是重置样式和PC端有点不同,二是css的数值应该是设计稿中的一半,以750px为例(因为最常见的iPhone6的屏幕尺寸为375px,设计稿是手机屏幕的两倍大小,所以css中的数值按设计稿一半计算)

最终效果

设计稿

问题和优化

细心的我们发现,目前的实现在iPhone6下是很友好的,但是在其他设备上,比如小屏的iPhone4或者类型更多的安卓手机,表现并不是很好。这时我们会去搜索移动端适配解决方案,有js+rem的方式,也有淘宝Flexible的解决方案,我们应该去了解并实践咯。
传送门:
移动web适配利器-rem
使用Flexible实现手淘H5页面的终端适配

移动端开发的优劣

优势:
移动端开发的优势简单来说就是兼容性更好了,基本上只需要针对webkit内核的浏览器做兼容就好了,而且本身这类浏览器对html5、css3的兼容性就比较高,所以PC端不太敢用的属性就大胆的用起来吧。
移动端还可以使用很多设备接口来实现更好的交互效果,比如陀螺仪实现类似3D VR效果,多指操作实现图片缩放旋转,获取地理位置等。

劣势:
移动端目前设备类型特别多,移动端的适配比较难处理,移动端的事件也是一个难题,比如tap延迟,点击穿透等问题。

扩展

要想处理好移动Web开发,我们还需要很多知识储备,很多问题需要找到比较好的解决方案,下面列举一些常见问题及可供学习的资料。
1.设备视口及像素比
2.浅谈移动Web开发(上):深入概念
3.移动端自适应方案
4.移动端 Web 开发前端知识整理
5.移动端事件介绍

总结

本文主要介绍了如何快速切入到移动Web开发,并介绍了开发中可能会遇到的常见问题,虽然没有具体介绍,因为这不是本文的主要目的,目的是希望读者在阅读之后对移动Web开发有个大致的了解,然后在实际开发工作中不断积累。
本文介绍方式是根据我自己的学习方式来描述的,先实现一个DEMO,获得一点成就感之后才有勇气面对开发中无数的坑嘛!希望对大家有帮助!


http://chatgpt.dhexx.cn/article/dqBu8Wwe.shtml

相关文章

移动端网站开发

受限于流量太少&#xff0c;以前的手机网站无法做成像现在一样的效果&#xff0c;只能通过超链接的形式实现简单的网页 随着3G&#xff0c;4G&#xff0c;5G的商用&#xff0c;我们的流量越来越多&#xff0c;网速越来越快。越来越多的应用开始去开发网页版。 移动端仿真 未来…

移动端开发

2022.3.5 学习笔记 目录 四、移动端开发方案 五、 移动端技术解决方案 六、移动端常见布局 移动端开发之流式布局&#xff1a; 一、基础 二、制作京东移动端首页案例 四、移动端开发方案 ①单独制作移动端页面 &#xff08;主流&#xff09; 京东商城手机版 淘宝触屏版…

web前端开发之移动端基础

web前端开发之移动端基础 一、物理像素(px) 定义&#xff1a;虚拟像素&#xff0c;可以理解为“直觉”像素&#xff0c;CSS和JS使用的抽象单位&#xff0c;浏览器内的一切长度都是以CSS像素为单位的&#xff0c;CSS像素的单位是px。 1.2 像素到底是什么 像素&#xff08;px…

前端移动端web开发(一)

一、前端开发 1.前端开发分类&#xff1a; PC端开发&#xff1a;页面主要运行在PC端浏览器中 移动端开发&#xff1a;页面主要运行在手机上 移动web开发 在移动端表现良好的页面&#xff0c;如新浪网 混合式开发&#xff08;Hybrid App&#xff09; 也叫“套壳开发”&#xf…

移动端Web开发 基础知识

文章目录 移动端Web开发移动端基础浏览器视口样式编写分辨率和设备像素比二倍图SVG矢量图 移动端Web开发 移动Web开发的两种主流方案&#xff0c;一种是单独制作移动端页面&#xff0c;另一种是制作响应式页面 移动端页面&#xff1a; 单独制作移动端页面的优势和劣势&#…

(一)移动端 Web 开发基础

文章目录 一、移动 Web 开发基础概念1. 像素(1) 分辨率(2) 物理像素(3) CSS 像素(4) 设备像素比(5) 标清屏和高清屏(6) 缩放(7) PPI / DPI 2. 视口 viewport 二、移动 Web 开发基础知识1. box-sizing2. 图标字体3. flex 布局(1) 什么是 flex 布局(2) flex 布局的基本概念(3) fl…

移动端web开发

相关阅读&#xff1a; WebApp与Native App的区别&#xff1f; 在高端智能手机系统中有两种应用程序&#xff1a;一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp&#xff08;基于WEB形式的应用程序&#xff09; Native App&#xff1a; 1、开发成本非…

Web前端开发 移动端开发(快速入门)

目录 一、理论知识1.视口2.物理像素和物理像素比3.二倍图4.移动端开发选择 二、移动端开发流程1.技术选型2.搭建文件结构3.SEO优化3大标签4.设置favicon.ico(logo图片)5.视口标签和初始化样式6.设置自适应尺寸&#xff08;两种方法&#xff09;1.方法一&#xff1a;创建common.…

移动端web开发笔记(一)

我本来一直在开发PC端的网页的&#xff0c;但是看到很多招聘都要求要有移动端开发的经验&#xff0c;所以开始学习一下&#xff01; 先搞清楚两个概念&#xff0c;移动端web开发&#xff0c;web app开发 1、 移动web开发&#xff08;pc端的页面用手机浏览器打开&#xff09; …

移动web开发

参考博客&#xff1a; 浅析移动端的视口 什么是视口 布局们 黑马程序员之flex布局 一、基础所知 常见浏览器QQ浏览器、百度手机浏览器、360、谷歌浏览器等都是根据Webkit修改过来的内核&#xff0c;因此移动浏览器主要对webkit进行兼容。且移动端设备屏幕尺寸碎片化&#xff…

方法重载与重写的区别

1.方法重载和重写都是实现多态的方式&#xff0c;区别在于重载是编译时多态&#xff0c;重写是运行时多态。 2.重载是在同一个类中&#xff0c;两个方法的方法名相同&#xff0c;参数列表不同&#xff08;参数类型、顺序、个数&#xff09;&#xff0c;与方法返回值无关&#x…

C#重载与重写的区别

前言&#xff1a;在之前的博文中&#xff0c;我总结过重载与重写的区别与用法&#xff0c;本博文算是一个系统的概述与总结。 文章目录 一、重载与重写的区别二、重载与重写的特征三、重载与重写的对比 一、重载与重写的区别 重载必须在同一个类&#xff0c;重写在派生类。重…

重载和重写的区别总结

目录 1. 什么是重载 2. 什么是重写 3. 二者的区别 1. 什么是重载 重载&#xff08;overload&#xff09;&#xff0c;它是指我们可以定义一些名称相同的方法&#xff0c;通过定义不同的输入参数来区分这些方法&#xff0c;然后再调用时&#xff0c;VM就会根据不同的参数样式…

Java之 重载 重写的区别

方法的重写和重载是Java多态性的不同表现&#xff1b;重写是父类与子类之间多态性的一种表现&#xff0c;重载是一个类中多态性的一种表现。重载 在同一个类中&#xff0c;多个方法有相同的方法名&#xff0c;但参数列表不同&#xff0c;这种同名不同参的方法就是重载重写 子类…

java中方法重载和重写的区别

方法重载和重写&#xff0c;光从名称上来说&#xff0c;很类似&#xff0c;也很容易弄错&#xff0c;接下来我们先简述两者的区别和联系。 1. 方法重载 首先方法重载是同一个类中的不同方法间的关系&#xff0c;这些方法具有同名(方法名一样)&#xff0c;但是具有不同的参数列…

重载和重写的区别(详解)

1、方法重写 概念&#xff1a; 重写是子类对父类的允许访问的方法的实现过程进行重新编写&#xff0c;返回值和形参都不能改变。即外壳不变&#xff0c;核心重写&#xff01; 好处&#xff1a; 重写的好处在于子类可以根据需要&#xff0c;定义特定于自己的行为。 也就是说…

java中重载与重写的区别

重写&#xff08;Overriding&#xff09; 重载&#xff08;Overloading&#xff09; 类的数量 父子类、接口与实现类 本类 方法名称 一致 一致 参数列表 一定不能修改 必须修改 返回类型 一定不能修改 可以修改 异常 可以减少或删除&#xff0c;但不能扩展 可以…

重载和重写的区别有哪些?

重载和重写的区别有以下几点&#xff1a; 一、定义上的区别&#xff1a; 1、重载是指不同的函数使用相同的函数名&#xff0c;但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖&#xff08;也叫重写&#xff09;是指在派生类中重新对基类…

重载和重写有什么区别

一、定义上的区别&#xff1a; 1、重载是指不同的函数使用相同的函数名&#xff0c;但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖&#xff08;复也叫重写&#xff09;是指在派生类中重新对基类中的虚函数&#xff08;注意是虚函数&…

重载和重写区别

以下都是Java的基础面试题&#xff0c;相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答&#xff0c;建议收藏&#xff0c;经常温习查阅。 文章目录 3. 重载和重写区别10道不得不会的Java基础面试题 3…