前端开发面试题分享,看一下是不是你需要的
1、如何确保 InAppBrowser 能被完整调用?
在调用外部资源的 HTML 文件中的标签中要加入
type=" text/javascript" charset="utf-8" src="cordova. js">
以确保 InAppBrowser 插件能够被完整调用,否则会出现底部返回按钮无法出现的情况。
2、如何利用 InAppBrowser 插件调用外部资源?
在 config. xml 文件中加入 href="*"/>(即将任何外部资源放入白名单中),就可以利用 InAppBrowser 插件调用外部资源了。
3、在混合开发中,如何实现上拉刷新,下拉刷新和加载?你遇到过什么问题?
用 iscroll 实现上拉刷新、下拉刷新和加载,效果比较差,在页面上只能上下滑动,不能左右滑动。如果把页面嵌入到客户端的 tab 底下,就会阻止客户端的左右滑动。如果要实现左右切换,就要把 iscroll 插件中的
onBeforeScrollStart:function(e){ e.preventDefault ( );}
改为
onBeforeScrollStart:null
缺点:虽然实现了上拉刷新、下拉刷新,但是效果不是很好,有时候会“弹”不回去,和原生的有一些差距。
4、HTML5 和 Native 的交互如何实现?
WebView 本来就支持 JavaScript 和 Java 相互调用,只前端培训需要开启 WebView 的 JavaScript 脚本执行功能,并通过代码 mWebView. addJavascriptInterface(new JsBridge( )," bxbxbai")向 HTML5 页面中注入一个 Java 对象,然后就可以在 HTML5 页面中调用 Native 的功能了。
5、微信是用 Hybrid 开发做得最好的 App 之一,它是如何做交互的?
在微信开发者文档中可以看到,微信 JS-SDK 封装了微信的各种功能,比如分享到朋友圈、图像接口、音频接口、支付接口、地理位置接口等。
开发者只需要调用微信 JS-SDK 中的函数,然后统一由 JS-SDK 调用微信中的功能这样的好处就是,开发者写了一个 HTML5 的应用或网页,在 Android 和 iOS 版本的微信中都可以正常运行。
6、Hybrid 开发适用于哪些功能?
Hybrid 开发就是在 Native 客户端中嵌入了 HTML App 的功能,这方面微信应该是做得最好的。
由于 HTML5 的效率以及耗电问题,可能用户对 Web App 的体验不满意,Hybrid App 也只适用于某些场景。
把一些基础的功能(比如调用手机的摄像头、获取地理位置、登录注册等)做成 Native 的功能,让 HTML5 来调用更好,这样的体验也更好。
如果把一个登录和注册功能也做成 HTML5 版本的 App,在弱网络环境下,这个体验应该会非常差,或许用户等半天还没加载出页面。
一些活动页面(比如“秒杀”、团购等)适合采用 HTML5 开发,因为这些页面可能设计得非常炫而且复杂。HTML5 开发非常简单,并且这些页面时效性短,更新更快,因为一个活动说不定就一周时间,下周就下线了。而如果用 Native 开发,成本是很高的。
7、Web App 和混合 App 的区别是什么?
区别如下:
(1) Web App 指采用 HTML5 语言写的 App,需要安装触屏版网页应用。
优点包括:开发成本低,迭代速度快,能够跨平台终端。
缺点包括:入口临时,获取系统级别的通知和提醒效率低,用户留存率低,设计受限制,体验较差。
(2)混合 App 指半原生半 Web 的混合 App,需要安装它才能访问 Web 内容。
例如新闻类 App、视频类 App 普遍采取 Native 框架 web 内容,混合 App 极力打造类似于原生 App 的体验,但仍受限于技术和网速等诸多因素。
8、什么是 Android 混合开发?如何申请权限?
Android 混合开发使用 Java 和 H5 共同开发界面,通过 JsBridge 进行通信,一部分界面首先在本地写好,然后通过网络请求获取数据,进行展示。当然,也可以完全是 H5 界面,在 WebView 中进行展示。
权限可以在 Manifest.xml 中申请, Android 6.0 以上版本可以通过代码动态申请。
9、什么是混合开发?
混合开发(HTML5 开发)相当于一种框架开发。该模式通常由“HTML5 云网站+App 应用客户端”两部分构成,App 应用客户端只须安装应用的框架部分,而在每次打开 App 的时候,从云端取数据并呈现给手机用户混合开发的另一种形式是套壳 App。
套壳 App 就是用 H5 的网页打包成 App。
虽然 App 能安装到手机上,但是每个界面都是通过 HTML5 开发的网页。这种 App 数据都保存在云端,用户每次访问都需要从云端调取全部内容,这样就容易导致反应慢,每打开个网页或单击一个按钮,加载网页都需要等很长时间。
10、混合 App 开发的优势是什么?
优势如下:
时间短。基本都是直接嵌套模板或打包成 App,这会节省很大一部分时间。
价格便宜。代码不需要重新写,界面不用重新设计,这些都是固定的,可替换的地方很少,所以价格相对便宜。
原创作者:互联网菜鸟
评论