GMTC观后感(一)

        得益于版本的顺利提交审核,周四五获得了参加GMTC大会的机会。本篇文章针对周四上午的GMTC大会做出笔记与总结。

        GMTC全球大前端技术大会是由极客邦科技和InfoQ中国主办的顶级技术盛会,这次大会是在国际会议中心,以下为大会内容。

GraphQL

        第一场是Sashko Stubailo的GraphQL技术,Sashko Stubailo是Apollo GraphQL leader,一个facebook的外国小哥,介绍了GraphQL,由facebook开源,是一种用于 API 的查询语言。原来我们从服务端获取数据的时候通过restapi,获取一堆的json数据,除非后端特意的定义了给前端的dto,不然那可能会获取很多不想要的数据,而通过graphql可以获得你指定的数据,减少了冗余。它可以沿着资源间引用进一步查询,就是说以前我们查询多种数据,可能要发送若干个请求,而GraphQL 可以通过一次请求就获取你应用所需的所有数据。它也能够与现有代码进行兼容。这是GraphQL代码:

GraphQL代码

我们看到GraphQL对现有restApi的冲击,也许不久就会代替rest。那么我们要怎么使用GraphQL,这里Sashko Stubailo提到了Apollo,它是一个框架,可以认为是一个网络库,在每个平台都会有,我们通过Apollo发送查询数据请求,服务端返回查询到的数据,通过Apollo解析。

附GraphQL中文网:http://graphql.cn/  

Apollo开源地址:https://github.com/apollographql

大前端趋势之下的驱动力

        第二场是大前端趋势之下的驱动力,主讲老师是APICloud联合创始人兼CTO邹达。十多年的浏览器引擎和移动引擎开发的老司机,最早的混合开发实现者。

        主要围绕着APICloud进行展开,先简单的描述了前端的状态,需求的导向,技术的成熟度。然后API中台的形成,可以通过APICloud快速的定制出一款产品,APICloud包含了600个模块,10000个API,模块中也包括了原生模块,就是通过现有的api组件快速拼接一款应用。降低开发成本,减少开发时间,强势的输入了一波广告。最后还推荐了一本自己写的书籍。当然也确实是一种强力的app开发输出。

        之前有在神马的朋友,也做过类似的产品研发,但是组件全原生定制,开发效率比较低,需要一定的技术基础,最终没有推起来,不过扔然是一个很好的尝试。如果是外包公司,或者是前期打市场,亦或是企业办公政府办公,也不妨是一个选择。当然如果是需要一定的产品体验,个性化定制,可能就需要更好的平台,这个需要业务方向的评估。

Flutter

        下面出场的是谷歌Flutter框架工程师Xiao Yu (于潇),演讲主题是使⽤Flutter快速构建集美观与⾼性能于⼀体的移动应⽤。这是唯一一场被掌声打断几次的演讲。

        首先分析展示了移动和台式机的使用时间,从图中我们看到了台式的逐年递减,移动的逐年递增,这个是美国的数据。

台式机
移动手机

这个是中国的数据:

台式机
移动手机

        从上述图中我们看到了,移动市场的递增性,正在一步一步的吃掉大部分的时间。同时还有一组数据展示了人们在使用常用app的时候,一般局限于20个以下。另一组数据展示电子商务的交易量成倍的提升。由此可见人们对移动App的依赖性越来越高。基于这样的需求下,提到了在开发中需要高性能,多平台,精美的定制特性,并且同时提到了移动开发的困难,太贵、太慢、高质量太难、工程资源难以共享,那么怎么解决这些问题,这时候flutter出场了。

        那么flutter是什么,它是一款移动应用程序SDK,一份代码可以同时生成iOS和Android程序。核心原则是Flutter包括一个现代的响应式框架、一个2D渲染引擎、现成的widget和开发工具。Flutter能够在iOS和Android上运行起来,依靠的是一个叫Flutter Engine的虚拟机,Flutter Engine是Flutter应用程序的运行环境,开发人员可以通过Flutter框架和API在内部进行交互。有过安卓开发的同学都知道,Android应用程序是运行在Dalvik虚拟机里面的,而flutter的应用是运行在Flutter Engine里。Flutter在iOS中的是利用平台的runtime来运行,runtime是用汇编编写的一套机制,苹果的原生系统就是利用runtime。所以Flutter自己定制了一套底层库,来达到与原生应用相媲美的程度。从下图我们可以看出Flutter是直接到GPU进行渲染,并没有进行线程切换,直接编译至arm,而weex、reactnative都会进行线程通讯,js桥接等造成性能消耗。这个可以算第二个掌声。

Flutter性能


其他跨平台sdk

        那么第一个掌声发生在哪?当讲师现场编写代码演示的时候,并且在iOS模拟器上能够时刻的产生变化,它不需要编译,甚至不需要刷新页面就能够及时的产生效果。Flutter的热重载可快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。

        最后介绍了闲鱼app部分页面使用了flutter,在下午的大会上会有闲鱼的工程师分享flutter在闲鱼上的应用。Flutter中文网直通车:https://flutterchina.club/

Clould Studio

大会第四场是CODING 创始人&CEO张海龙带来的Clould Studio,这是一款云开发环境,可以在线开发、调试等。同时 Cloud Studio 集成了 Git 代码版本控制, 用户可以选择 TGit、Coding、GitHub、BitBucket 等任意的代码仓库。 Cloud Studio 还提供了分享开发环境的功能, 用户可以保存当前的开发环境, 分享给团队的其他成员。

基于多海外项目的离线缓存方案

来自掌众集团的刘弟新为我们带来了离线缓存的方案。

首先基于项目的背景做了介绍,多网络,多国家的android SPA应用。做过开发的都知道SPA就是单网页应用,我之前也涉及过单页面应用的开发,当时还是用sancha,框架用的是extjs,底层原生用的phonegap,也就是Cordova。当时是把包打到了本地,并不是放在服务器,当然那是很多年前了,那时候跨平台app还没有兴起,由于技术框架机器等各方面原因,个人的技术也不足,app卡顿时常发生。

在掌众集团看到了他们的解决方案

离线缓存简介

由webview发起请求,到拦截器,查找缓存,没有命中则通过服务器请求数据,命中进到缓存管理器,通过时间等判断是否使用缓存或者更新缓存,最后返回给webview。缓存的整体思路是这样,但是随着时间的过长就会出现新的问题,产生越来越大的缓存包,快速迭代的时候仍然需要等待。既然缓存过大,那么解决方案就是拆包,通过web资源的拆分、资源分类管理、每个页面组件增加页面内入口模块标识,进行动态的拆分重组包。快速迭代的时候仍然需要等待的问题,则采用了懒加载方式,对与一些当前页面没有使用的组件和库只采用了声明的方式,减少页面渲染时间。

由此我们看到了,对于SPA应用提高性能的其中之一解决方式是对缓存的加持。

前端团队的成⻓性探讨

上午大会的最后一节,是百度前端技术部副总监⾼磊的前端团队的成⻓性探讨。围绕职责目标的选择,⾼磊提到了几个case。

CASE1: 百度“极速搜索”项⽬

冲突: 研发效率 VS 展现速度

解决⽅案:1、速度优先,开发效率的降低可以暂时接受 2、研发效率可以有多种途径来解决

CASE2: 百度搜索“前端改版”项⽬

难点:500+样式的重复修改

解决⽅案:其实我们解决的是基础技术设施的问题

CASE3: BOW(Brilliant Open Web)项⽬

出发点:1、业务要求 2、技术特点

结果:新空间、新资源、新愿景

围绕团队成⻓关键管理因素的几个case

CASE1: 百度“极速搜索”项⽬

衡量指标:1、过程指标:速度、稳定性 2、结果指标:⽤户点击(体验)

CASE2: 搜索前端的架构技术团队

衡量指标:

1、业务⽀撑性:有 VS 没有 2、结果指标(⽤户体验提升):建⽴新指标

个人管理经验不足,考虑过两点,一个是规矩,一个是人文。规矩就是阶段性产品项目的完成目标,人文就是个人的成长目标,当我们完成了产品目标的同时也能得到个人的成长才是双赢。而一个拥有自我驱动力比较高的人的团体,还需要管理么,他们爱着这个行业,一天不产生bug浑身难受。

![扫一扫关注我吧](https://upload-images.jianshu.io/upload_images/11238923-b7da656d9ec2b746.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,061评论 25 707
  • 15年前,超市行业还处于未饱和状态。听父辈们说,当年他们开的第一家超市每逢佳节都是数钱数到手发软的状态。 但是,今...
    猫兔阅读 865评论 0 0
  • 窗外的梨花吹白了你的脸 和你离去后 我红肿的眼 我爱你 但是 到此为止了
    未明花香阅读 190评论 0 5
  • 夜,又深了一些。刘幸独自走在学校的梧桐路上,脚踩在枯黄的落叶堆上,发出了吱呀吱呀的声音。 今天是2015的最后一天...
    长背心Reus阅读 675评论 0 50
  • 你看过马男吗? 你知道马男波杰克吗? 我天,你竟然不知道谁是马男?! 就那个风靡朋友圈的毒鸡汤动画片啊! 来,今天...
    小张张XX阅读 8,218评论 0 1