首页 > 前端开发 > 正文

前端web小程序开发方案 一个小程序的实施技术方案?

2023-09-28 13:39:41 | 我爱编程网

对于前端开发比较关注的小伙伴们一定非常关心前端web小程序开发方案 一个小程序的实施技术方案?,今天我爱编程网小编为大家整理了以下内容,下面一起来看看吧。

前端web小程序开发方案 一个小程序的实施技术方案?

web前端开发都包括哪些技术?

前端开发需要学习的技术:

1、掌握基本web前端开发技术:HTML、CSS、JavaScript、DOM、BOM、AJAX等,而且要了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug,
2、必须掌握网站性能优化、SEO和服务器端开发技术的基础知识,
3、必须学会运用各种web前端开发与测试工具进行辅助开发,
4、除了掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等,
5、未来web前端开发工程师还要研究HTML5、web视觉设计、网站配色、网站交互设计模式等相关技术。

想要了解更多这方面的相关信息, 推荐咨询千锋教育 。千锋企合作部整合大量企业客户资源,紧抓当下企业需求,将技术和项目完美结合千锋课程体系,力求培养更多优质人才服务企业,不断提升学员竞争力,链接企业用人标准的培训课程及实战项目,让企业招聘用人的技术要求与千锋学员的技术充分对接。近年来不断引进阿里钉钉小程序技术、红帽认证、腾讯云、亚马逊等,通过与企业的深度融合实现千锋教研和就业服务的迭代升级,专业性值得信赖。

前端web小程序开发方案 一个小程序的实施技术方案?

前端开发都包括哪些技术?

1、学会HTML

HTML是网页内容的载体内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。要熟练掌握div、table、ul li 、p、span等这些标签,这些都是最常用的。

2、学习CSS(Cascading Style Sheets)—样式。

一般看到web前端开发工程师的要求里面,有一个会使用css+html 或者 css+div 来进行界面布局,所以css是用于辅助html来布局和展示的,

称之为“css样式”,CSS要熟练掌握float、position、width、height,以及对于的最大最小、会使用百分百、overflow、margin、padding,标题字体、颜色变化,或为标题加入背景图片、边框等等,这些都是跟布局有关系的样式,必须要掌握的。

3、JS(java)—— 行为

java是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用Java来实现的。

4、学习jquery

jquery是相当于把js封装了一套的一个js插件,目的就是操作起来更方便,代码写的更少,jquery入门也很简单,那些是入门需要学的和js一样,只是换成了jq的代码.其他的一样百度就够了。

5、最好会点后台语言,比如java、php,因为前台界面的数据都是从后台来的,如果会点后台代码,就知道怎么跟后台交互数据是最好的, 这样节约时间,也可以让前端代码更规范.不然可能因为你的写法和后端给来的数据不能结合上,那么前端代码又得重新写,那就更麻烦了。

参考资料来源: 百度百科-前端开发





前端web小程序开发方案 一个小程序的实施技术方案?

一个小程序的实施技术方案?

微信小程序上线大半年,大部分技术原理也有文章介绍了,本文尝试从需求出发探讨微信小程序技术方案的来源,以及最近公测的支付宝小程序技术方案的考量。

微信小程序

微信小程序的需求是让第三方开发者可以接入,可以使用微信的提供的接口去开发应用嵌入在微信里。对于这个需求,最简单的实现方案是:让外部开发者开发纯H5应用,在微信的H5容器里打开,容器提供微信native接口,就行了。在有小程序之前,已经有很多这样的业务接入,像京东购物,钱包里的各种友商大众点评/滴滴出行等,都可以认为是一个“小程序”,内嵌在微信里,能调用微信native接口,是不是沿着这种模式下去,把相应的接口开放给第三方,再提供个入口就行了?

实际上这种简单的方案不能满足需求,在产品上微信小程序有另外两个很重要的需求:

管控。作为一个平台必须对接入的应用有管控能力,必须能尽量精确控制应用的内容和类型,毕竟若出现非法应用平台是要承担责任的,H5的方式太过自由,开发者可以随时改变整个应用的内容,平台难以检测到这些改变,无法管控。另外H5开发质量参差不齐,平台也无法管控,这对于一向有洁癖的微信来说无法接受。

体验。作为一个“小程序”需要让体验接近原生,而上述像京东购物这些普通H5页面的体验不太行,包括启动速度/页面切换流畅度都有问题,跟原生体验没法比。

所有小程序的技术方案都是为了这两个需求服务。

管控

为了满足管控的需求,技术上微信做了两个事情:小程序框架和分离JS运行环境。

框架/DSL

H5太自由,首先要做的就是限制它的自由,怎样限制?自然是做个框架套住,让开发者只能按框架的规则去开发。那应该使用怎样的框架?

在PCSNS时代,Facebook做开放平台时有类似的场景,为了第三方开发者能在Facebook平台上开发,同时又能限制住开发者的权限,Facebook要求开发者使用自定义的一套DSL(FBML)去开发,而这个DSL能怎么写,最终能转成什么,如何执行,都是平台说了算,同时也可以很方便做代码扫描和审查。

小程序正好能借鉴这样的设计思路,界面不使用HTML开发,而是自定义一套DSL,这样就可以很容易配合审核/代码扫描/域名限制等系列措施去做管控,这就是小程序这一套框架的来源。这套框架通过wxml去描述界面,wxss描述样式,js去处理逻辑和数据,再通过工具一系列处理把这些转为HTML/CSS/JS显示在webview上,并处理界面交互和数据更新。

这样用一套框架去限制开发方式,再造一层DSL,除了管控外还有一个好处,就是容易进行针对性优化,DSL最终转成什么,最终如何执行渲染都由框架决定,上层不感知,可以做成由webview渲染,有条件也可以用类似RN的方案自己实现渲染层。

JS环境

通过框架限定开发方式后,管控上还有个问题,就是如何限制应用端类JS语言调用domAPI?小程序跑在webview上,渲染时必然要通过JS操作dom,如果小程序框架和应用JS代码都有权限操作dom,应用可能会通过各种方式在上线后绕过检查,注入JS调用dom接口去修改页面结构和内容,变成跟审核时不一样的应用。怎样能限制应用的JS调用dom的权限?微信想了个比较创新的解决方案,就是:JS运行环境与浏览器分离,运行在单独的JS引擎上。

脱离了浏览器,JS自然没有dom的调用权限,任何跟webview界面相关的API都无法拿到。而小程序框架核心JS运行在webview上,可以自由操作dom,通过小程序框架定义的机制,应用端通过wxml/wxss定义固定的渲染样式,JS端只管数据绑定,数据可以通过native桥梁从JS引擎传递到webview,JS端无法做任何渲染相关的操作,可以对渲染的内容有完整的管控权。

独立的JS运行环境除了满足管控需求外,也额外带来一些好处和一些坏处,好处在于:

多个页面可以共享一个JS运行环境,数据可以很方便地共享,整个小程序生命周期里共享同一个上下文,更接近APP的开发体验。

JS与页面渲染分离并行执行,不会出现JS执行时卡住页面渲染的情况,提升渲染性能。

坏处在于:

多了数据序列化传输的开销,数据需要从JS传到webview给视图层渲染,需要序列化为字符串格式再进行传输。

iOS上WKWebview的JS引擎比JavaScriptCore多了JIT优化,执行速度快很多倍,小程序的JS运行在JavaScriptCore上无法享受到这个优化。

由于管控需求过于刚需,这个方案带来坏处可以接受。

体验

小程序最主要的两个技术点—框架和JS运行分离都是源自管控需求,而体验上的需求就是由各种细致的性能优化组成了,很多文章也分析过,这里简单说下,包括:

离线包:整个小程序打包下发,不需要打开每个页面都去请求,减少第二次打开时间以及页面切换时间。

预加载:预加载多一个wkwebview放后台,用户打开小程序时省去初始化wkwebview时间。另外对于一个小程序内的页面切换,得益于框架的设计,可以做到预渲染模板,切换时再填充数据,加快渲染速度。

缓存:退出小程序后不会立即销毁,会在后台继续跑5分钟,在这期间用户切回小程序时速度快。

视觉:小程序首次加载通过loading和动画的方式过渡,拒绝白屏,给人一种快的感觉,同时提升了小程序的标识度。

剩下的就是围绕小程序这个平台的周边建设了,像组件,native接口,IDE,后台管理,版本管理,权限控制等基础支持。

支付宝小程序

策略

微信小程序推出时主要面向的场景是线下,希望商家能开发小程序,做像点菜买票这样的即时性应用,提升线下商户体验,支付宝作为线下战场的主要竞争对手自然要跟进。

支付宝要做小程序应该怎么做?可以根据自身的情况,定义另一套技术体系,让第三方接入。但这样的话第三方如果要同时接入微信和支付宝,需要开发两套程序,成本很高,而微信有先发和平台优势,很可能变成只开发微信小程序而放弃接入支付宝小程序,所以最好的做法是降低这里的接入成本,让微信小程序的代码可以复用在支付宝小程序上。所以支付宝小程序对外的框架/API/组件必须是跟微信小程序接近或力求一致,技术上没得选择,所以可以看到支付宝小程序公测版的文档很多跟微信一致。

实现

支付宝小程序框架对外接口是跟微信一样,又因为同样有管控/安全和体验的需求,有些策略是类似的,像独立JS环境,离线包,缓存策略等,但在小程序框架的实现上就跟微信完全不一样。小程序框架作为一层屏蔽了实现细节的DSL层,最终通过什么技术手段实现都可以是由框架底层自由定制的,这边底层架构基于蚂蚁前端团队多年的积累,最终web版小程序是以react为基础实现。

ReactNative

除了对外的跟微信一致的web版小程序,内部一直在尝试ReactNative版小程序,渲染层不适用webview,而是用RN去渲染,提升性能和体验,这也是小程序DSL层带来的好处,底层渲染引擎可以很方便地替换实现方案,甚至同时存在多套方案。

很多人问为什么不用weex,按我理解首先是蚂蚁的前端技术栈基于react,切换成本高,另一个RN相对weex成熟度高,社区支持度高,并保持着不间断的更新,相对友好。 我爱编程网

RN本身不跨平台,iOS/Android有各自的写法,在RN的使用上,业界很多人各自实现了基于RN的跨三端或两端的开发方式(例如JDReact),也就是一次开发,能同时支持RN在iOS/Android两端做原生渲染,也支持fallback到webview渲染。这里小程序也算是这样一套方案,上层通过自定义DSL开发业务,部署时通过工具分别转换成三个平台不同的代码,在三个平台运行。

内部应用

小程序是一套对外的方案,主要用于第三方应用接入,因为上文也说了,框架上很多技术方案都是为了满足对第三方管控和安全方面的需求,而小程序相关的很多体验优化其实用纯H5也可以做到,内部业务用web版小程序开发并没有带来什么好处,反而增加学习成本。但RN版小程序不一样,它有一些优势,包括:

RN相对webview性能优势明显,秒开率高,交互也更流畅。

相对于单纯使用RN开发,使用小程序可以屏蔽平台差异,实现跨平台一次开发。

小程序有配套的开发环境/IDE/包管理等基础设施支持,无需再重复建设。

对于业务开发者,小程序不是全新的一套开发方式,在业界可复用,对于框架实现者,RN也是业界流行开源方案,有强大的社区支持。对内对外都避免了另外创建一套只能在内部使用的技术体系,极大降低技术成本。

基于这些原因,在蚂蚁财富这边一些内部原本应该使用H5实现的业务,也正尝试更多地使用小程序实现,以提升用户体验,目前部分基于小程序RN版开发的业务已在线上稳定运行,后续也会继续尝试把小程序RN版持续打造成高性能稳定的三端统一动态化方案。

以上就是我爱编程网小编为大家带来的内容了,希望能够帮助到大家,了解更多前端开发资讯敬请关注我爱编程网。
与“前端web小程序开发方案 一个小程序的实施技术方案?”相关推荐
web前端开发小程序案例分析 开发一个小程序,都需要什么流程
web前端开发小程序案例分析 开发一个小程序,都需要什么流程

开发一个小程序,都需要什么流程开发一个小程序,都需要什么流程步骤一:申请小程序做一个小程序商店,首先需要申请一个小程序。步骤二:微信小程序怎么弄微信小程序怎么弄,需要借助木鱼小铺后台,所以我们需要先找到木鱼小铺。步骤三:进入网站,注册一个木鱼小铺小程序后台账号步骤四:进入后台,有店铺-订单-商品-财务-门店-客户-营销-设置-统计-账户功能供大家使用。

2023-10-15 07:59:51
web前端开发小程序案例分析 web前端开发需要掌握的几个必备技术
web前端开发小程序案例分析 web前端开发需要掌握的几个必备技术

web前端多端编程开发框架结构?随着我们对web前端编程开发技术的掌握,越来越多的框架语言和架构方式被我们所熟知。下面回龙观北大青鸟就一起来了解一下,web前端开发的一些常见框架结构。1.全包型这类框架大的特点就是从底层的渲染引擎、布局引擎,到中层的DSL,再到上层的框架全部由自己开发,代表框架是Qt和Flutter。这类框架优点非常明显:性能(的上限)高;各平台渲染结果一致

2023-10-15 07:59:34
web前端开发制作小程序 如何开发一个小程序?
web前端开发制作小程序 如何开发一个小程序?

如何开发一个小程序?本人是一个前端开发者,做过很多的小程序开发。同时本人也是一个创业者,专门做小程序开发外包服务。大部分的小程序开发都是类似的。而这里分享下怎样开发一个小程序。首先第一步,总结开发的需求。先要对业务有清晰的了解,然后对业务的逻辑进行需求分析。做出开发的原型。第二步是把原型做成就ui设计图。UI设计师将设计图处理后交给前端开发工程师。UI设计师将设计图处理后

2023-09-25 10:31:04
开发小程序需要web前端吗 小程序开发需要哪些技术
开发小程序需要web前端吗 小程序开发需要哪些技术

微信小程序开发需要什么知识和技术1.微信小程序开发,需要学习哪些技术1、熟练掌握HTML语言、CSS、JavaScriptHTML就是超文本标记语言的简写,HTML是网页开发前端三剑客之一,主要负责网页的骨架,就如同动物的骨架一样,HTML语言就是支撑网页布局的骨架。CSS主要负责网页样式,网页内容如何分布,板块背景,颜色等外观问题可以有CSS控制。JavaScript是一种动态的

2023-10-12 16:02:54
web前端开发小案例 帮助Web前端初学者快速掌握JavaScript技术的方法
web前端开发小案例 帮助Web前端初学者快速掌握JavaScript技术的方法

帮助Web前端初学者快速掌握JavaScript技术的方法今天小编要跟大家分享的文章是关于帮助web前端初学者快速掌握JavaScript技术的方法。当你试图学习JavaScript或其他编程语言的时候,你通常会遇到如下挑战:·一些概念让你感到困惑,特别是如果之前学过其他类型的语言。·很难找到学习的时间(或者动力)去学习。·你很容易忘掉之前学到的东西。·Jav

2023-09-17 21:09:49
php开发小程序的框架 开发小程序需要哪些技术
php开发小程序的框架 开发小程序需要哪些技术

php开发需要掌握什么php开发需要掌握:API设计与开发,这是互联网开发的趋势,前端后台模板分离,小程序开发,app接口都是涉及api接口。(推荐学习:PHP视频教程)linux开发,很多PHP程序员喜欢window开发习惯,很难适应命令行的linux,但是事实证明很多项目都是使用linux系统开发,比如物联网开发,通信接口开发等,很多扩展类只能在linux系统上才能正常跑起

2023-09-27 05:49:39
web前端开发小程序diy WEB前端开发一个小程序需要多少钱
web前端开发小程序diy WEB前端开发一个小程序需要多少钱

WEB前端开发一个小程序需要多少钱前端开发小程序,需求不同价格不同。如果有专业的技术团队,可以根据需求自行开发。但是很多小企业或者小商家,是没有技术团队的,这时候就需要找到合适的第三方服务商,购买小程序,进行管理。但是市场上的小程序第三方服务商鱼龙混杂,不了解门道的商家很容易受到蒙骗,比如前期说免费,后面每打开一项功能就要收钱,开通10个功能左右就要上万。在此,建议大家,在前期

2023-09-29 18:18:32
web前端开发小程序案例 web前端全栈开发,该怎么学
web前端开发小程序案例 web前端全栈开发,该怎么学

初学者如何迅速学习web前端开发?学习web前端不怕没哟基础,就怕没有方向,推荐给你web前端学习的路线图:阶段1.前端核心基础HTML+_CSS核心、JavaScript基础语法、JavaScript面向对象、JavaScriptDOM和BOM编程、jQuery框架阶段2.HTML5+CSS3+移动端核心HTML5新特性、Canvas专列、CSS3新特性、C

2023-10-04 07:59:44