Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[软技能] 第125天 说说你对Web App 、Hybrid App和Native App这三者的理解? #1086

Open
haizhilin2013 opened this issue Aug 18, 2019 · 19 comments
Labels
软技能 软技能

Comments

@haizhilin2013
Copy link
Collaborator

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

@haizhilin2013 haizhilin2013 added the 软技能 软技能 label Aug 18, 2019
@diwayou
Copy link

diwayou commented Aug 19, 2019

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

@haizhilin2013
Copy link
Collaborator Author

haizhilin2013 commented Aug 19, 2019

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

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

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

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

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

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

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

@TUARAN
Copy link

TUARAN commented Aug 19, 2019

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

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

@weilaiqishi
Copy link

来源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

@leihuanlinbingqi
Copy link

@diwayou 我是菜鸟,你是大佬,我想问下,想想当初你不也是一样从菜鸟过来的吗?

@diwayou
Copy link

diwayou commented Aug 19, 2019

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

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

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

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

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

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

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

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

@haizhilin2013
Copy link
Collaborator Author

haizhilin2013 commented Aug 19, 2019

@diwayou 明白你说的!没有最好的,只有最适合的!感谢!^_^

@leihuanlinbingqi
Copy link

@diwayou 明白你说的!没有最好的,只有最适合的!感谢!^_^

赞同,书也会分为不同的等级,适合才是最好的。

@nextprops
Copy link

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

@haizhilin2013
Copy link
Collaborator Author

@hedongxiaoshimei 感谢分享!

@EragonBubble
Copy link

戒骄戒躁

@json-he
Copy link

json-he commented Aug 19, 2019

支持作者,是个很好的分享。

@fyouf
Copy link

fyouf commented Aug 21, 2019

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

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

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

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

@diwayou
Copy link

diwayou commented Aug 21, 2019

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

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

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

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

本来不想说了,你第一句话就是废话,而且是错误的废话,如果按照你这么说所有知识都能组成系统,我说的是不利于系统化思维,不知道自己不知道,就你知道!

@rainysir
Copy link

支持作者,无论有用没用,感谢分享。

@monic-shixi
Copy link

看书学习是个被动学习的过程,带着问题去学习是个主动学习的过程,相辅相成!

看书学习不能算被动吧。。。。:cry:

@haizhilin2013
Copy link
Collaborator Author

@monic-shixi 嘿,我说的这块也是不严谨,应该是看书这件事本身是主动的,但里面的内容是被动吸引的(因为是由作者告诉你答案),感谢指出!

@aoxiangsky
Copy link

哪样拿高薪才是硬道理,其他都瞎扯淡

@LeiDeMing
Copy link

本质上,系统的看了书,再来看这个项目会更加的好。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
软技能 软技能
Projects
None yet
Development

No branches or pull requests