首页 > 前端开发 > 正文

web前端混合开发流程 跨端开发面面谈之基于WebView的Hybrid开发模式

2023-09-16 17:21:34 | 我爱编程网

最近经常有小伙伴私信询问web前端混合开发流程 跨端开发面面谈之基于WebView的Hybrid开发模式相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

web前端混合开发流程 跨端开发面面谈之基于WebView的Hybrid开发模式

跨端开发面面谈之基于WebView的Hybrid开发模式

跨终端移动开发是近期准备总结的一个主题,作为这一系列的开始,首先简单说说基于WebView的Hybrid混合开发模式。

有过混合应用开发经验的同学,对基于WebView的Hybrid开发模式应该不会陌生。借助于原生端各平台的WebView组件,可以实现Native和JavaScript的双向通信,从而将Web App与Mobile App融合起来,开启混合开发的新模式。

基于WebView的Hybrid开发模式到如今已经非常成熟,不再是一个实验性新技术,而是广泛应用在各大厂商的平台型应用如微信、手Q中。

JSBridge作为连接Native和JavaScript的桥梁,是基于WebView的Hybrid开发模式中的关键点。

在了解其通信原理后,再来看JSBridge究竟是什么。从前端角度来看,可能会把JSBridge理解为业务开发过程中,以全局变量注入到WebView中,帮助调用原生API的JavaScript工具库。这样的理解不够准确,按照我的理解,JSBridge不是一个标准的规范,基于原生系统为WebView组件提供的能力,已经可以建立起WebView JavaScript bridge,即使不再做更高程度的封装,也可以完成从Native到JavaScript的双向通信了。

我们所说的JSBridge,是对底层通道的抽象封装,这一过程包括了原生和JavaScript两侧内容,在原生端需要考虑系统API差异,对上层调用提供统一接口,在JavaScript端需要考虑调用方式,请求管理等内容。JSBridge的设计实现已经是成熟技术了,其设计可以参考 In-depth Profiling of JSBridge 、 Hybrid APP架构设计思路 ,一个安卓端完整JSBridge实现可以参考 JsBridge实现 。

目前,基于WebView的Hybrid开发模式非常成熟,广泛应用于各类平台型App中。实现一个完善的JSBridge是在现有App中集成使用Hybrid开发模式的基础,在完成这一基础设施建设后,大家继续在各个方向深挖,在不同的维度不断优化性能和体验。

多数App的Hybrid部分做到上面部分,已经有了还不错的体验。在我的了解中,空间团队在上面基础上继续优化给出的是当前做的更好的方案。其主要流程如下图所示,详细内容可以参考 QQ空间前端工程师如何做首屏优化

除了在现有App中集成使用这一开发模式,还可以使用这一技术开发独立App。早期的PhoneGap、Cordova、现在的Ionic,是这一领域较为知名的开发框架。

我司前端技术栈曾以Angular为主,一些App也由前端团队基于Angular技术栈选型Ionic。初入团队曾维护过基于Angular 1.x的Ionic App,用于我司投资顾问服务客户的以IM为主、综合一些其他业务,可以算一个比较复杂的应用。

前端技术背景的同学,采用Ionic框架开发App的学习成本不高。开发过程中仍在沿用前端技术,写的仍是Web App,跑在原生WebView容器中。采用Ionic提供的组件库,可以快速搭建项目界面。其扩展原生的机制也比较方便,如有原生能力的需求,并且没有现成实现的,可以自行封装使用,不过这个过程就需要原生开发同学的参与了。在我们的上述App开发中,主要是安卓端消息推送模块由原生开发同学提供了支持,其余对原生能力的需求如拍照、相册访问等常见需求,都有现成方案。

然而,采用Ionic完成上述应用,也有明显不足的地方。首先是聊天列表方面,我们知道,如微信和QQ聊天窗口,这是一个异构的无限滚动长列表,在进入聊天界面时,一般只加载最近的一屏聊天数据,然后通过滚动加载历史消息。在原生端完成这一需求有各种常见手段,而仅靠Web端技术,在各种折腾后,效果都不尽如人意。其次是动画,这里的动画包括了换页动画和其他动画,流畅程度一般。最后是前端开发通病,要处理浏览器兼容性问题,crosswalk只是一个理论解决方案,其体积限制了几乎不会被采用。

Ionic不断迭代,新的版本中依赖新的Angular。新的Angular与Angular 1.x开发体验已经完全不同,如果你还不了解,可以阅读我们团队书籍 揭秘Angular 2 。新的Ionic的开发体验,相比以往也有提升,在其工具链中,提供了拖拽式项目生成工具

同时,Ionic pro提供的开发者工具,为应用整个生命周期提供了完善的支持平台,包括了以下功能,不过,使用需要付费。

站在当下来看,对于前端技术背景开发者来说,如果已有Angular基础,不希望引入过高学习成本,需要快速开发一个复杂程度不算太高、或者对应用性能不是特别敏感的跨终端App,选择Ionic依然是一个可行方案。

然而,既然你已经身在前端领域这样一个技术更迭日新月异的圈子里,还是应该使劲的折腾,关注跨端开发这个主题新的技术热点,接下来我也会继续谈谈在NativeScript、React Native、Flutter的一些体验,可以保持关注。

web前端混合开发流程 跨端开发面面谈之基于WebView的Hybrid开发模式

什么是web前端开发?

Web前端开发就是创建Web页面、或者APP等前端界面呈现给用户的过程,通过HTML、CSS及JavaS等衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。

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

想要了解更多有关web前端的相关信息, 推荐咨询千锋教育 。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。

web前端混合开发流程 跨端开发面面谈之基于WebView的Hybrid开发模式

现在做网页前端的学习路线是什么

初学者必看干货web前端学习路线图,随着移动互联网的发展,web前端逐渐受到企业的重视,前端开发人员的薪资也水涨船高,越来越多的人看好前端行业的发展,想要转行加入。下面,给大家分享一份web前端学习路线图,希望对初学者有所帮助。

Web前端行业的发展,让前端人员能完成比以前更多的职责范围,所以未来前端可以宽口径就业,前景非常好。除此之外,目前web前端工程师日均岗位缺口超50000,平均薪资10820元/月。

对于零基础的人而言,要怎么学习web前端呢?

1、前端页面重构。主要内容为PC端网站布局、Photoshop工具及切图、H5移动端网页布局、HTML5+CSS3新特性与交互。学习目标是完成PC端网站布局,可实现响应式布局,一套代码适配PC端、移动端、平板设备等。

2、前后端网页交互。主要内容为JavaScript语法全面进阶、ES6到ES10新语法实践、jQuery应用及插件使用、设计模式及插件编写、封装JS工具库及WebAPIS、AJAX+PHP+MySQL前后端交互、前端工程化与模块化应用以及PC端全栈开发项目等。学习目标是可以掌握前端工程化工具,如git、gulp、webpack等,搭建项目及开发项目。

3、Node.js+前端框架。主要内容为Node.js全面进阶、Koa2+MongoDB搭建服务、Vue.js框架、React.js框架、小程序云开发与小程序框架、原生APP与混合APP、数据可视化与桌面应用等。学习目标是掌握桌面应用及可视化大数据,实现复杂数据展示类项目,能够独立完成前后台相关功能,胜任HTML5全栈开发工程师职位。

很多学习web前端的朋友都希望在学成后能找到一份满意的工作,所以我们在学习过程中一定要注意实战经验的积累,如果你所学的东西对企业没有用,那你所做的一切都是无用功。 我爱编程网

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。
与“web前端混合开发流程 跨端开发面面谈之基于WebView的Hybrid开发模式”相关推荐
移动端web前端开发调试 混合开发之H5在移动端如何调试界面
移动端web前端开发调试 混合开发之H5在移动端如何调试界面

web前端可以做什么相关工作第一,企业官方网站的开发与维护。这个应该是最简单的了,基本上是纯静态页面的展示,就算有交互模块,应该也是比较简单的那种,甚至纯js使用类似于oop的方式就能够很轻松完成,基础好的话,甚至可以不依赖jquery或者zepto。第二,门户类型网站的开发与维护。例如像搜狐一样的门户网站,但是我不确定这种业务线是否还在招人,相对来说也不难,但是如果想开发得好,实现高可

2023-10-04 21:37:44
web前端混合式开发 什么是web前端开发
web前端混合式开发 什么是web前端开发

什么是web前端开发web前端开发是创建WEB页面或APP等前端界面呈现给用户的过程。web前端开发是通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。web前端开发是创建WEB页面或APP等前端界面呈现给用户的过程。前端开发从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1

2023-10-03 19:27:33
web前端开发面试格式 WEB前端面试题
web前端开发面试格式 WEB前端面试题

WEB前端面试题第二章面试题基础篇2.1HTML面试题面试题:行内元素有哪些?块级元素有哪些?空(void)元素有那些?面试题:页面导入样式时,使用link和@import有什么区别?面试题:title与h1的区别、b与strong的区别、i与em的区别?面试题:img标签的title和alt有什么区别?面试题:png、jpg、gif这些图片格式解释一下,

2023-10-04 02:15:47
谈谈对web前端开发看法 web前端开发是什么,所要面临的挑战有哪些?
谈谈对web前端开发看法 web前端开发是什么,所要面临的挑战有哪些?

前端开发,能说说你的理解吗?首先我们要知道什么是前端,前端就是网站前台部分,运行在PC端,移动端等浏览器上展现给用户所浏览的网页。前端开发顾名思义就是这些页面的设计,代码的实现。而Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。不过,现阶段的网站开发已经不同于早年的网页设计,当时主要是以图片和文字为主,用户使用网站的行为也以浏览为主,这

2023-09-23 15:27:53
web前端开发混合开发 HybridAPP混合开发的一些经验和总结
web前端开发混合开发 HybridAPP混合开发的一些经验和总结

web前端开发框架有哪些_web前端开发主要框架常见的web前端开发框架如下:1、Bootstrap:主流框架之一,Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使得Web开发更加快捷。2、html5-boilerplate:该框架可以快速构建健壮,且适应力强的webapp或网站。3、Meteor:Meteor是新一代的开

2023-09-02 06:32:49
无界面模式开发web前端 web前端开发都包括哪些技术?
无界面模式开发web前端 web前端开发都包括哪些技术?

web前端开发主要是做什么的啊?想系统学习Web前端开发主要是负责设计和开发用户界面(UI)以及用户体验(UX),使Web应用程序的前端部分(也称为客户端)能够有效地展示和交互。以下是Web前端开发人员通常要完成的任务:使用HTML、CSS和JavaScript等技术来创建Web应用程序的用户界面。设计和开发Web应用程序的前端架构。与后端开发人员一起工作,确

2023-10-06 22:05:47
web前端混合开发 HybridAPP混合开发的一些经验和总结
web前端混合开发 HybridAPP混合开发的一些经验和总结

web前端开发框架有哪些_web前端开发主要框架常见的web前端开发框架如下:1、Bootstrap:主流框架之一,Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使得Web开发更加快捷。2、html5-boilerplate:该框架可以快速构建健壮,且适应力强的webapp或网站。3、Meteor:Meteor是新一代的开

2023-09-04 20:58:40
web前端开发和面试 web前端开发面试流程是怎样的?
web前端开发和面试 web前端开发面试流程是怎样的?

web前端面试必问的几个问题?有那些?web前端面试必问的几个问题?有那些?根据面试官的不同,面试的内容页不一样的。一般的话就是+css布局占一部分,例如各浏览器的相容性,然后就是js的ajax,闭包,冒泡什么的,js会占很大一部分,也有一部分面试官会抛开这些,直接问公司需要的内容,这样的话就是考验你的实际操作了,这类的面试官我很喜欢,就是直接问布局,资料填充之类的,能学到很多东西,

2023-09-13 18:23:33