前端组合:熊孩子、村姑、化妆师
上次在这提到村姑和化妆师的故事,其实村姑背后有个大家族。上次教大家如何用代码做自我介绍,其实用到了JavaScript(简称js)。
html只是个静态页面语言。如果用html做自我介绍的话,它是展示全部文字,而用上了js后,它可以让它一个一个字显示出来,像打字机一样。
好了,介绍下今天主角,村里的那个熊孩子就是Javascript,爱捣蛋, 调皮的服务员(前端编程语言)。熊孩子、村姑和化妆师是一个组合,叫前端(js+html+css)。
有兴趣就看,下面是上次的js代码,就是有个打字方法type()
<script language="javascript"> //<script>代表脚本
var index=0;
var word;
function type(){ //打字方法的逻辑,一次打一个字
var typePanel = document.getElementById("jack");
typePanel.innerText = word.substring(0,index++);
if(index % 3 == 0){
typePanel.className = "";
}else if(index % 3 == 1){
typePanel.className = "saying";
}
}
window.onload=function(){ //加载入口
word=document.getElementById("w").innerHTML;
setInterval(type, 200); //每隔0.2秒调用一下打字方法
}
</script>
俊俏走红的Java
村里另一个小伙子Java, 生的早也生的俏,是个好厨师,做得一手好菜(后端开发主流语言,还有php等)。经常有人误会这两个的关系,问这两者的关系。可以这样说,Java和Javascript的关系就像雷锋和雷锋塔一样。
介绍下熊孩子的发家史
js发展史移动互联网的到来
自从可以点外卖之后(移动互联网时代),用户体验要求变高了,都在家叫外卖。(app性能好)App有两种,iOS和Android。
- iOS app(用Objective-c开发):1号外送员,生的俏,新电动车。
- Android app(用Java开发):2号外送员,生的一般,旧电动车。
iOS发布审核流程
下图是iOS开发到发布的流程,苹果开发需要购买证书,发布也要各种审核,保证了App Store的应用质量。安卓流程也类似,不需要购买证书(自己用计算机可以生成),审核也比较少。
iOS开发发布流程
篮子和仓库:内存和运存
这里要介绍下缓存(一般存放在内存),虽然app和浏览器都有缓存,但是app有数据库,类似小仓库,而且app自己可以生产页面,所以app的能力比网页好得多。
下图是App的工作原理,App首先和服务器请求数据,然后缓存着,接着处理数据并存入数据库,根据数据生产页面并展示。
可以拿到数据直接展示(1-2-4-3),也可以存入数据再展示(1-2-3-4 )。
h5和App的区别
h5(html5), 城里的姑娘,是村姑升级版,常见于公众号开发。上次也在这里 输入url后发生了什么 提到了网页,在浏览器打开h5网页版淘宝,其实就是下载网页回来,那么有时候网络不好甚至不通的时候体验就很差了。
通过浏览器打开淘宝和打开淘宝app有什么不同呢?
app还是需要联络服务器那边,获取数据(配方),这边自己生产页面,所以,服务器那边返回显示的数据(多少条,每一条里面显示什么),app这边根据这些数据自己生产展示出来,就不用下载页面,效果好很多。不好的地方是占用手机的资源(内存、cpu),也需要重新化妆。
混合开发(hybrid)也很容易理解,app+h5。app里面有一个组件webview网页盒子,可以理解为一个浏览器环境盒子,用代码启用后,它也可以打开网页。
- 简单的混合开发其实就是在app里套盒子,盒子里打开指定某个网页;
-
复杂点的就是有数据的交互,在淘宝(app)打开天猫(h5),然后你发现你也可以下单购物(自动登录了),自动用淘宝的账户登陆了天猫,这就是数据交互。
淘宝app,混合开发
小程序
h5跨平台但体验差,app开发成本高(需要开发ios和安卓两个),那有没有更好的方案呢? 上面的混合开发算是一个,但是随着技术的进步,Facebook推出了React Native(js开发的移动跨平台程序),腾讯也推出了微信小程序,这是 颠覆式的行业方案,从此很多iOS和安卓程序员就失业了,中小型项目都可以用React Native或小程序开发,js变成了高富帅,前端迎来巅峰期。
小程序
个人认为,小程序是为新零售而生的,小程序有个附近的功能,附近的零售店,对了,就是这样子的。阿里和腾讯的新零售之争,小程序服务商(有赞之类)、理发店、小卖部都可以用小程序。
完善的积木盒子
微信为小程序提供了很多能力,像是和微信、公众号互通的账号体系,支付能力,共享微信的消息提醒等等。可以说大大降低了开发成本,开发可以专注于盒子组装使得项目快速上线。
王者归来
介绍完熊孩子的发家史了,(Node.js这个还没介绍,下次吧,不然太多看晕了)从诞生到小程序,前端越来越强盛了,正所谓能力越大,责任越大,有非常强大的开发生态,自然养活了很多前端工程师。
小作业:用小程序做个自我介绍
开发流程小程序介绍自己
网友评论