说说你对Web App 、Hybrid App和Native App这三者的理解?

发布于 2021-01-11 17:15:45
关注者
0
被浏览
91
6 个回答
  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    不好的风气,天天看这种面试题不如多看看书,写写代码,培养下自己系统化思考问题的思维,分享这种东西我个人认为价值不大,天天排行就各种面试刷题,国外开发者吐槽的没问题,我也想吐槽

    @diwayou 个人理解不同吧,你压根就没有理解这个项目的宗旨是什么!出这些知识点是让大家每天都保持学习与思考,深入思考,而不是简单地走下过场,片面地理解一下,去背题!
    这些题你可以理解为面试题,你也可以理解为一个知识点,那说说看你对这道题的理解,看你是真懂还是假懂!没有说看这些题就不用看书了,书当然是要看的,书上的不也是一个个知识点合并起来的吗?

    看书学习是个被动学习的过程,带着问题去学习是个主动学习的过程,相辅相成!有的时期我们需要被动学习,有的时期我们需要主动学习!

    看待问题,有的时候还真的要从反方面来看,你觉得这些问题提出来,真的是想要答案吗?那有正确标准的答案吗?孰不知这些问题,百度一下分分钟出结果呢?学习它是一个过程,一个求知的过程!

    四大宗旨:勤思考,多动手,善总结,能坚持

    每个事物存在必有它的道理,“PHP比GO还好不是吗?”,“apache比nginx还棒不是吗?”,少点吐槽快乐会多一点!

    对了,怎么国外开发者就是对的吗?他们有了解中国吗?想想吧……

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    不好的风气,天天看这种面试题不如多看看书,写写代码,培养下自己系统化思考问题的思维,分享这种东西我个人认为价值不大,天天排行就各种面试刷题,国外开发者吐槽的没问题,我也想吐槽

    各取所需,因地制宜,排行也是由市场决定...

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    来源https://zhuanlan.zhihu.com/p/54624442
    Native App:原生应用,在android端通常使用Java或Kotlin开发,ios端使用OC或者Swift开发
    Hybrid App:混合应用,结合Web与Native技术开发
    Web App:web应用,网页三剑客html+css+js
    Native App开发依旧是移动应用的主导,但如今的Native App或多或少会嵌入一些web页面,诸如淘宝、京东等APP。Hybrid App受到越来越多开发者的追捧与其开发周期短,开发难度小,跨平台离不开,当然APP的效果也成为大家诟病的话题,如首屏打开缓慢,动画效果不够流畅等。
    要学习的方向
    1.webview
    2.移动APP适配与flexible.js
    flexible是淘宝使用的移动端适配方案,原理即根据机型分辨率进行适配,设置根font-size,使用相对单位rem。其核心功能如下:
    判断meta标签,动态改写标签
    给html标签添加data-dpr属性
    给html标签添加font-size属性
    根font-size(即html标签上的)属性值即为一个单位的rem,在chrome浏览器上,默认的font-size值为16px:即16px=1rem

    getComputedStyle(document.getElementsByTagName("html")[0])["font-size"];
    //16px

    flexible.js核心代码:

    function refreshRem(){
    var width = docEl.getBoundingClientRect().width;
    if (width / dpr > 540) {
    width = 540 * dpr;
    }
    var rem = width / 10;
    docEl.style.fontSize = rem + 'px';
    docEl.setAttribute("font-size",rem + 'px');
    flexible.rem = win.rem = rem;
    }
    win.addEventListener('resize', function() {
    clearTimeout(tid);
    tid = setTimeout(refreshRem, 200);
    }, false);
    win.addEventListener('pageshow', function(e) {
    if (e.persisted) {
    clearTimeout(tid);
    tid = setTimeout(refreshRem, 200);
    }
    }, false);
    将设备宽度分为10份,而每一份视作一个单位,再将html的font-size设置为这个单位即:
    font-size = 750/10 = 75px;
    1rem = 75px;
    如果在宽度为750px的设备上,完全符合上述换算。如果在iphone6/7/8上,宽度为375,那么:
    font-size = 375/10 = 37.5px;
    1rem = 37.5px;
    现在以宽为750的设计稿为例,有一个款750px高75px的按钮 ;在iphone6/7/8上(实际宽375px)我们实际看到的宽高是多少呢?
    width = 750/75 = 10rem ---> 10rem(在iphone6/7/8上) = 37.5px*10 = 375px;
    height = 75/75 = 1rem --->1rem(在iphone6/7/8上) = 37.5px;
    不难看出,只需要将这个单位作为除数即可计算出所需要的值;
    3.打包工具cordova

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    不好的风气,天天看这种面试题不如多看看书,写写代码,培养下自己系统化思考问题的思维,分享这种东西我个人认为价值不大,天天排行就各种面试刷题,国外开发者吐槽的没问题,我也想吐槽

    @diwayou 个人理解不同吧,你压根就没有理解这个项目的宗旨是什么!出这些知识点是让大家每天都保持学习与思考,深入思考,而不是简单地走下过场,片面地理解一下,去背题!
    这些题你可以理解为面试题,你也可以理解为一个知识点,那说说看你对这道题的理解,看你是真懂还是假懂!没有说看这些题就不用看书了,书当然是要看的,书上的不也是一个个知识点合并起来的吗?

    看书学习是个被动学习的过程,带着问题去学习是个主动学习的过程,相辅相成!有的时期我们需要被动学习,有的时期我们需要主动学习!

    看待问题,有的时候还真的要从反方面来看,你觉得这些问题提出来,真的是想要答案吗?那有正确标准的答案吗?孰不知这些问题,百度一下分分钟出结果呢?学习它是一个过程,一个求知的过程!

    四大宗旨:勤思考,多动手,善总结,能坚持

    每个事物存在必有它的道理,“PHP比GO还好不是吗?”,“apache比nginx还棒不是吗?”,少点吐槽快乐会多一点!

    对了,怎么国外开发者就是对的吗?他们有了解中国吗?想想吧……

    首先,我没有说外国开发者肯定就是对的,不要偷换概念,我 只是正好跟他站在了同一个观点而已,请不要以点带面,混淆问题核心
    第二:理解或者不理解你这个问题不会因为你出了这道题有太大的改变,因为真正理解一个问题需要一个系统化的学习,就拿这道题来说,他首先要去每一个都用一用看看文档/看看书/写写代码才能有自己的理解吧?而且这也不是一天两天就能改变的吧?你可能说这道题作为一个出发点,带着问题去思考,那是不是知识点不是一种很好的方式呢?用推荐书单可能是更好的方式,或者推荐更好的代码实践项目也是一种好的方式,而不是碎片化的知识点,效率过于低下,而且容易陷入只是知道知识点而不知道如何解决问题的系统化思维
    我知道你的出发点是好,你的目标也是好的,但是从实践效果来说,你这种方式不是一个好的方式,对于初中级开发者来说是,对于高级开发者可能不是很需要,个人观点,打扰

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    @haizhilin2013 第一天看到这个项目,我在想你能坚持做一件事情100+天,你真的很厉害。而且我相信你也帮助到了一些人。在这里,为你点赞。👍
    另外有些朋友他们的逻辑会很奇怪,一上来就通过先否定,说点是个人都知道的“应该如何如何”的话,然后体现一波自己优势。希望你放宽心态,以后这种你能不回就不回吧。 一段名言送给你,有一些删减,但大概意思差不多。
    “你说是我辣鸡,那就是我辣鸡,为什么你们知道吗,因为你的的话就像是一位癌症晚期患者说的话。他都已经这样了,你为什么不顺从他,你总得给人留一段美好的回忆吧,最后的时光里。” --引自《吉吉圣经》。

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    不好的风气,天天看这种面试题不如多看看书,写写代码,培养下自己系统化思考问题的思维,分享这种东西我个人认为价值不大,天天排行就各种面试刷题,国外开发者吐槽的没问题,我也想吐槽

    @diwayou 个人理解不同吧,你压根就没有理解这个项目的宗旨是什么!出这些知识点是让大家每天都保持学习与思考,深入思考,而不是简单地走下过场,片面地理解一下,去背题!
    这些题你可以理解为面试题,你也可以理解为一个知识点,那说说看你对这道题的理解,看你是真懂还是假懂!没有说看这些题就不用看书了,书当然是要看的,书上的不也是一个个知识点合并起来的吗?
    看书学习是个被动学习的过程,带着问题去学习是个主动学习的过程,相辅相成!有的时期我们需要被动学习,有的时期我们需要主动学习!
    看待问题,有的时候还真的要从反方面来看,你觉得这些问题提出来,真的是想要答案吗?那有正确标准的答案吗?孰不知这些问题,百度一下分分钟出结果呢?学习它是一个过程,一个求知的过程!
    四大宗旨:勤思考,多动手,善总结,能坚持
    每个事物存在必有它的道理,“PHP比GO还好不是吗?”,“apache比nginx还棒不是吗?”,少点吐槽快乐会多一点!
    对了,怎么国外开发者就是对的吗?他们有了解中国吗?想想吧……

    首先,我没有说外国开发者肯定就是对的,不要偷换概念,我 只是正好跟他站在了同一个观点而已,请不要以点带面,混淆问题核心
    第二:理解或者不理解你这个问题不会因为你出了这道题有太大的改变,因为真正理解一个问题需要一个系统化的学习,就拿这道题来说,他首先要去每一个都用一用看看文档/看看书/写写代码才能有自己的理解吧?而且这也不是一天两天就能改变的吧?你可能说这道题作为一个出发点,带着问题去思考,那是不是知识点不是一种很好的方式呢?用推荐书单可能是更好的方式,或者推荐更好的代码实践项目也是一种好的方式,而不是碎片化的知识点,效率过于低下,而且容易陷入只是知道知识点而不知道如何解决问题的系统化思维
    我知道你的出发点是好,你的目标也是好的,但是从实践效果来说,你这种方式不是一个好的方式,对于初中级开发者来说是,对于高级开发者可能不是很需要,个人观点,打扰

    系统也是由许许多多碎片化知识组成,可能你并不需要这些,但总有人能从中受益,学习方式很多种,应该持开放态度。作为程序员经常会进入一种自己不知道自己不知道的盲区,看一些碎片化的知识有时是可以帮助到自己填补一些知识盲点。这种更像是一种学习上的辅助。

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看