❶ 前端面试题,移动端兼容问题有哪些,安卓和ios问题
那么进入正文,不废话,直接把自己了解到的和一些看法说出来。
首先是屏幕问题,现在主流的移动设备以安卓和IOS为主,我们在制作移动端页面也是以兼容这两种设备去布局。
首先说iPhone,不得不说iPhone的屏幕考虑到了我们开发者的难处,从而给出iPhone屏幕的dpr都是整数值,在6plus出现之前,iphone的dpr始终是2(物理像素/逻辑像素=2),即使是6plus出现了,iphone到底其实也就只有2,3这两个dpr。其实6plus的实际dpr并不是整数,而是2.87左右,不过,为了方便开发者来开发,iphone6plus对其做了一个调整,将dpr调整为3,然后在对屏幕进行了一个缩放。所以我们很容易对其做到兼顾。
而安卓的dpr值,并不像iphone那样就只有两个值。安卓的dpr是千奇百怪的,可能是1.5,2,3,4,2.5等等的都有。(甚至我还看到了1.7之类的,安卓的各个设备商,玩的真尼玛high啊。怎么高兴怎么来。)
那么现在开始说说移动端怎么布局以及字体该怎么设置,因为有各种各样的解决方式,我就不一一赘述,直接说手淘的解决方案:flexible.js
我为什么又一次把这个拿出来说,主要有两点原因:1.我觉得它好用,解决方式简单粗暴。2.它经过了比较长时间的考验,如今手淘还在用它。
具体的使用方法自己可以去flexible.js看看,这里我简单说说它的方案以及个人对它的改良。
❷ ios开发属于前端吗
ios开发属于前端吗?这个问题一看就知道是个外行问的。ios开发有前端有后端,它们之间是互不属于但互有交集的关系。
❸ 前端ios与android的兼容性问题怎么解决
解决浏览器兼容是必备问题,比如360的极速和兼容模式显示同一个网页
❹ ios底部输入框被虚拟键盘遮挡,前端有没有好的方法解决这问题
1.快速添加URL后缀
经常使用ios设备的朋友会发现,现在在Safari中输入网址时,找不到“.com”“.net”等url后缀,只能一字一字的输入。其实,完全不用这么麻烦,.com选项,还有.us、.e、.net以及.org都还在。用户只要在句号按键上长按即可调出上述选项,长按调出后用户手指不离开屏幕,在这些选项上滑动选择之后它就会自动插入。
2.上下双引号的添加
这个“点击-滑动”机制贯穿整个ios7系统之中,而不仅仅是URL的输入。输入下双引号也可以使用同样的操作方法。长按句号键,即可调出下双引号。而长按shift+逗号键即可调出上双引号。
3.自动插入大写字母
大写字母时用户也可以利用这个“点击-滑动”机制。长按shift键并滑动手指到想要选择的字母上即可。
4.调出特殊符号
在用户将虚拟键盘调至”english(us)”输入法时,长按想要选择的字母,即可调出该字母的特殊字符。
长按美元符号用户可以调出类似的符号,包括美分、欧元、日元以及英镑等。
除这些以外,虚拟键盘中的某些功能还是保持不变的。比如自动完成特性,用户点击空格键或输入标点符号时,它会给用户提供多个建议选项。
❺ 前端vue开发 iOS手机切屏之后回到原app页面动画不执行了
两个动画效果肯定是要停掉一个的。
禁止掉原生侧滑有点不现实,那就想办法改变我们自己的。
定义变量isIosMoveBack判断过度动画取消的时机(在IOS系统机型下滑动时),这里直接在vuex里面定义个变量,方便后面组件内部的返回按钮重置变量。
❻ iOS前端qing
前端就是用户看的见的应用程序,IOS也是属于前端开发,后台是对于数据的处理,不是给用户看的
❼ 为何感觉做网页的不多但是前端却比安卓ios的需求大
因为现在网页开发人员已经不再单纯的只开发网页
在Web2.0时代
前端开发人员都是往大前端方向发展
HTML CSS JS只是基本功
还得需要会Vue React Angular三大框架
小程序和Web APP开发
服务端的NodeJS
前端工程化Webpack gulp
gitlab github等
还有MongoDB Redis等数据库
前端是越来越复杂了
并不是传统意义的前端只做界面
现在简单的CURD都是前端自己完成
后端更多的是做数据相关的工作
一个非常好的问题。题主说的前端应该是包含了H5跨平台开发的“大前端”。
一,大前端
随着移动互联网的发展,前端开发成为重点。移动端有多个平台,Android,iOS,微信小程序,还有重任在肩的华为鸿蒙,为了支持这些平台和系统,越来越多的应用开始使用H5跨平台架构,这时有个新名词叫做“大前端”。
为了满足实际业务需求,现在软件系统的功能和架构都日趋复杂:多层架构,数据中台,动静分离,微服务、集群化部署,自动化运维,等等。曾经总结过这么一个现象:
早期的小型团队,前端手忙脚乱,需求易变,盯着页面整天改来改去。
成熟稳定的团队,后端比较忙,持续不断的开发新功能。
从实际情况看,前端工程师数量比较多。
二,H5跨平台开发
这时的H5开发已经不单单是网页开发了,而是前端应用开发。具体到H5 Hybrid架构,常用三剑客:HTML, css, JavaScript
1) HTML和css是页面设计 ,没有代码逻辑
2) JavaScript编程 ,还有其它衍生语言,比如常用的TypeScript
JavaScript是一种脚本语言,由解释器加载执行,常用在网页前端动态展示、和服务后端交互等场景。
3)常用框架
有很多成熟的框架可用,比如JQuery, AngularJS,React,还有前后端都跑通的NoteJS
三,Android,iOS原生开发
这是几年前的一个话题了,中间经历了很多波折,当2012年Facebook宣布放弃H5转向原生开发的时候,似乎已经有了阶段性定论。然而随着微信还有H5技术、开发框架的快速发展,天平又再次偏向了H5。
目前来看,“大前端”H5跨平台开发工程师的需求数量,远多于Android、iOS原生开发的需求。
只能说你这个感觉偏差非常大!
web 层面的前端开发人员比原生 app 的开发人员数量上多了很多。抛开 web 其原有的领域不说,现在很多 Android 和 ios 的开发都采用了 hybird 技术,一种原生和 web 混合的开发手段。
很重要的一个原因就是 web 的开发部署周期非常迅速,而 native app 挂到市场后都会有一个审核过程,现在互联网企业对产品的设计规划变化非常多,特别是 Apple store 的审核时长较长,跟不上频繁的迭代开发而产生的更新,所以就有了将更新评率较高的部分分离出来用 web 技术来实现的这种变通手段。
这样一来,web 前端的技术人员又覆盖了一部分原本不是他领域内的工作。
其实前端这几年火爆的发展还是源于对软件开发团队的配置以及成本投入的需求,目前web前端开发已经占据软件开发招聘市场很大的比例了!
接下来给大家谈谈web前端发展迅速的主要原因:
互联网企业属于创投类比较青睐的项目,当你有一个很好的idea的时候,只需要一定的启动资金,将你的idea落地为互联网产品,借此去吸引一定的流量,有了流量之后就可以找风投进行入股,在资本介入之后就会有非常迅速的发展,甚至还有上市的可能,风投只要在众多的投资项目中有少量成功的案例,那么就可以赚的盆满钵满,这也是互联网成为这些风险投资资金的蓄水池。
至于互联网产品的流量入口就很多了,例如:有的用户从电脑端网络访问、有的用户从手机网络访问、有的用户会从微信小程序访问、有的会下载官方推荐的APP、有的用户使用安卓系统、有的用户使用的是iOS,无论哪种方式都会产生很大的可能性,其背后都是一类用户的访问习惯,而作为产品必须尊重每一种习惯,否则将会丢失一部分的客户群体,对于一个起步阶段的互联网产品来说,丢失的任何一个用户都是不可接受的失败,必须使出浑身解数来迎合用户,增加产品粘合度以及用户的体验度。
面对如此多的流量入口,对于早期尚未拿到风投的创业型互联网公司来说,软件开发团队的工资将占据整个项目启动资金很大的比例,以至于很多项目还没搞出来上线就已经over了或者项目草草上线之后发现运营的资金也是捉襟见肘,导致了整体项目的失败!
这类公司已经功成名就,各自在自己的领域已经是大象般的存在了,资金势力雄厚、技术能力与产品也已经非常成熟,前端软件开发的任务也从早期抢市场,谁先上线谁就赢得先机,转型向产品维护以及功能的迭代更新,所以工作量也会大幅下降,自然招聘量也会随之降低,而且未来面对新的产品开发也会不断的尝试新的技术来满足团队优化的目的。
对于外包公司来说承接的项目会比较杂、业务类型也是多种多样的,所以如果一个前端团队可以解决来自iOS、安卓、pc端的所有需求那将是再好不过的选择了,既节约了成本,又可以提升开发效率并能整合团队资源何乐而不为!
对于非IT类企业来说,这类企业主营业务不是IT产业类,对软件的需求就是满足企业本身管理与生产的信息化,所以不可能在IT团队的投入上有着过高的追求,如果自身的IT能力即可以满足日常的生产与管理,又可以在商业上有所建树那将是非常完美的选择,目前的前端框架完全可以满足这类企业在软件界面端开发的所有需求,也是得到企业青睐的原因所在!
做网页的需求量是做安卓、iOS原生前端页面的需求的百倍都不止,你的感觉没错。
而你觉得做网页的不多也很正常,因为借助于前端UI框架、开源项目、工程构建、组件化等,现在前端更侧重于JavaScript工程构建,很少吭哧吭哧写页面了。
前端开发除了有传统的网站PC页面、朋友圈的网页、小程序以外,还在不断渗透它的影响力和扩大它的势力范围,比如:
1、跨多端,安卓、iOS、Windows、Mac、Linux等很多应用都开始采用hybrid的方式来开发,甚至直接用JavaScript生成;
2、前端SaaS、PaaS服务,随着云计算的发展,将人工智能、大数据等做成第三方服务的公司越来越多,这个趋势在美国比较明显,中国也在跟进,而很多服务都是线上服务,比如线上Office、线上PS、线上OA平台、线上大数据展示平台、线上表格、低代码等,将服务线上化已经是大势所趋,而所谓线上就是基于浏览器,而只要基于浏览器就是前端开发。
基本所有企业都有操作系统吧!都是前端开发!你平时用的app,也基本都是前端开发的。那种活动啥的,全是前端
对于题主的提问,其实回答很简单,不需要虚头巴脑说前端各种华丽花哨的,我就反问题主,安卓ios只做移动端应用,而web前端做的是跨平台应用,现在单把移动应用拿出来单说,由于原生应用开发周期长,更新审核繁琐,很多原生应用的内容都是web写的,安卓iOS相当于做了个框,可以理解为内嵌一个浏览器,这样一对比,量级就明显了,另外现有各平台的小程序都是前端从业者,还需要列举更多吗
app很多都是前台做的,原生的都很少工作量了。还有各种微信,支付宝,美团,等等小程序的前端都是给网页前台做
❽ 前端开发在ios上怎么不让页面向下拖动
原因分析:
ios的webview 内核 设定了其在进行momentum scrolling(弹性滚动)时,会停止所有的 事件响应 及 DOM操作引起的页面渲染 (亲测),故 onscroll 不能实时响应
曾做兼容方案:
使用 ontouchmove 去替代 nscroll ,虽然能更频繁的触发事件,但是这边的项目需求是实时响应滚动事件的同时,还要对页面元素进行重定位的DOM操作,由上述原因可知,在滚动过程中,页面会停止一切关于DOM方面的操作,所以若使用 ontouchmove 去实现的话,在按住屏幕进行滑动的时候,屏幕会出现元素抖动的情况(事件触发与DOM操作间具有几十毫秒的时间差),兼容失败
使用 iscroll 的probe版本,该版本能实时探查到滚动的距离,但该钩子函数是实时去关注 requestAnimationFrame 下的状态,所以对浏览器的版本性能消耗很大,加上 react 的 DOM 操作,安卓机根本动不了,兼容失败
使用 swiper 插件,在启动 freeMode 模式时模拟原生的弹性滚动( swiper 模拟原生滚动的方案能兼容较多的安卓机型不出现bug,), 因为 swiper 没有实时监听滚动位置的功能,故我监听滚动开始及结束后的事件,通过 setInterval 及一些计算去实现滚动条的监听,但因为 react 元素的变化量比较大,导致 swiper 在移动端时对父容器的计算速率达到了一个瓶颈,依旧出现很卡顿的现象,兼容失败
fallback方案,安卓端使用原生onscroll实现,ios直接加载全部子元素,毕竟ios的性能方面还是比较好的,有更好的方案后续再更.
❾ 同时学iOS 开发和web前端开发靠谱吗
其实关键还是看个人努力吧,是可以实现的,只是知识结构不相近,你会比较累,因为IOS 主要是object c 或者swift 作为开发语言,web前端主要是HTML5 和JS,技术之间的差距比较大,你要是想兼顾会比较累!当然事在人为!加油
❿ 有没有前端童鞋碰到ios webview中页面加载不了css样式问题
本人碰到了,好不容易写了个btn的样式,加载之后四个高亮的灰色大按钮伤了很久。测试后chrome ie 没问题,但是safari不行。 ios的浏览器核心是Safari。 另外有可能是网络问题。