第一次参加conf好激动的说。来,咱们先放几张照片!!javascript
今天一天的会议下来,对于刚刚涉足前端领域的我来讲收获颇丰,因而将本身的感悟总结在这里与广大的Vue爱好者以及尤大大的粉丝们分享!html
By 尤雨溪 Evan You Vue.js做者前端
最后对于即将发布的2.4版本,将是以K开头的一部动画,可是尤大大不肯透露更多的细节。vue
Just a View Layer Libraryjava
最先只想解决一些视图层的问题,并无彻底服务于大型业务的功能。可是随着 Vue 的发展开始增长辅助工具,例如 vue-router, vue-loader, vuex
react
The Progress Frameworkwebpack
不须要彻底的全家桶,而是能够渐进式的根据需求一点点增长业务复杂度。这样易于上手,也能够更快的应用在老业务上,比侵入式框架易于上手。git
NUXT.js,Quasar Framework(Ionic),Element,iView,Muse-UI,Vux,Vuetify,Vue Material
Server-Side Rendering (ssr.vuejs.org)github
服务器端渲染: 在存在代码分割的状况下,经过分析 Webpack 服务端和客户端的构建信息,自动推导须要在客户端预加载的文件,生成最优的 <script>
和 <link re="preload/prefetch">
web
SSR 性能进一步优化,经过编译时优化得到 2~8x 性能提高。(后面被阴明吐槽性能仍是不好,必须在每一层都作缓存)
SSR + webpack code split 完美支持,代码分割再也不局限于路由。
--ts
, --sr
...)Vue.set
或者this.$set
,直接 =
会后才知道,原来尤大大昨天凌晨发高烧,今早仍是带病来进行了本届大会的开场主题演讲,在会后还热情地和喜好Vue的小伙伴们一个个合影,不禁得深感敬佩!近距离接触尤大大,发现他特别平易近人,丝毫没有大神的架子。了解到尤大大是86年出生的,13年(也就是27岁)写出了初版Vue。打算把尤大大做为本身的男神和榜样,但愿本身五年后也能够像尤大大同样作出属于本身的东西。(貌似有点蚍蜉撼树23333,总之要加油!You can make it !!)
附上和尤大大的合照一枚!
By i5ting 桑世龙 狼叔 去哪网前端架构师
Vue自己是前端框架,它目前跟服务器惟一的关联就是SSR,基于Stream的Bigpipe实现,虽然说是旧瓶装新酒,但仍是有不少人不了解其中原理。另外对于Vue项目来讲,与后端Api对接、(Spa、大首页)等有没有更好的实践呢?后端Api目前也极为混乱,各类语言、各类实现,真的适合前端么?你们辛苦了,狼叔最懂你。
首先,狼叔分析 Node.js 现状,而且预测了 2017 年趋势。
狼叔仍是颇有我的魅力的,嗯。对SSR的原理有了一些基本的认识,知道了目前主流的打包工具为webpack 2,正好最近开始学习webpack,看来没有学错哈哈!狼叔还说若是你想晋升,那么最好学学webpack,看来本身须要更加剧视webpack的运用以及原理的学习。
By 张耀春 小春 摩拜单车
前端框架的目的:alleviate the amount of copy & pasting you do between projects.
Pick the right tool for the job.
工具复杂度是为了处理内在复杂度所作的投资 - 尤雨溪 《Vue 2.0,渐进式前端解决方案》
官方出品的命令行脚手架工具,支持:
(1)vue init 按照指定模板,在指定目录生成项目结构
有 3 种模板初始化方式:
一、官方
二、本地
三、线上其余repo
(2)vue list 列出线上 vuejs-templates repo 支持的模板列表
其中你们用的最多的是webpack
都是基于 webpack 构建。
create-react-app:更多封装在了react-scripts 里面,同时把它加到了初始项目的依赖里面。
vue-cli:更为直接,把脚本模板都直接放到build 文件夹中,开发者更容易修改。
和 Vue.js 结合最紧密的构建工具
采用webpack-merge
+webpack.base.conf.js
+ webpack.prod.conf.js
须要 Express 和多个中间件:
DefinePlugin:动态的注入一些变量,好比一些版本、环境信息等
friendly-errors-webpack-plugin:recognizes certain classes of webpackerrors and cleans, aggregates and prioritizes them to provide a betterDeveloper Experience.
webpack-sftp-client:开发过程当中把本地资源 push 到开发机
html-webpack-inline-source-plugin :html-webpack-plugin 的第三方扩展插件,经过增长一个 {inlineSource: 'regex string'} 选项来内联你的静态文件到 html 中。
Webpack 的插件,处理 .vue
文件中的三部分:
*、 template
*、 script
*、 styles复制代码
小春的演讲诚意满满干货十足,因为讲的太细还有点超时了。因为小春刚刚从滴滴跳槽到了,致使主办方的关于小春的信息还没更新。本身回来以后从新学了一遍PPT,感受不少vue的原理性的东西,收获很多。
By 阴明 掘金创始人
src/
├── api/ # 接入微服务的基础 API
├── App/ # App Root Component
├── asset/ # 静态文件
├── business/ # 业务
├── component/ # 组件
├── const/ # 常量
├── event-bus/ # Event Bus 事件总线,相似 EventEmitter
├── global/ # 通用定义的 directive, mixin 还有绑定到 Vue.prototype 的函数
├── model/ # Model 抽象层
├── repository/ # 仓库,接入 Vuex 中
├── router/ # 路由
├── service/ # 服务
├── state/ # Vuex 状态管理
├── style/ # 样式
├── util/ # 通用 utility functions
├── view/ # 各个页面
├── client-entry.js # 前端业务 & build
├── server-entry.js # SSR业务 & build
├── ...
└── main.js # Vue Object Initiation复制代码
基础设施层
api/
util/复制代码
领域层 Domain
service/ % 各个 Domain 下的基础功能业务
repository/ %某一个独立 Domain 下的获取数据的业务
model/ %数据抽象层复制代码
业务层
business/ % 各个 Domain 下的具体业务,会引用 service 和 repository 中定义的功能
validator/ %不一样数据的 validation 过程复制代码
表现层
state/
router/
component/
view/ % Vue 下具体的交互展现层业务复制代码
相似于 Node 中的 EventEmitter
经过事件管理和监听处理异常、Alert、Scroll 触发等
需求:
不经过跳转 URL 来显示 Not Found
解决方案:
需求:
后端渲染解决性能问题
解决方案:
需求:
先后端渲染数据一致性问题
解决方案:
经过某种事件广播机制实现数据的最终一致性
Vuex 自己就有事件广播模型,咱们定义了 3 个 mutation 类型:
略
我相信每个新技术的出现的最终目的是创造价值
若是一个技术真的好
我就会推荐它,宣传它,帮助它普及给更多的开发者
用开放的心态去尝试、学习、接受新事物
这便是我作掘金的态度,也是我作技术的态度
阴明说这真的是他最后一次技术分享了,不知道你们信不信?我以为阴明的此次演讲仍是很不错的,既有干货又有情怀。在回答问题阶段,阴明说他不是为了学前端而学的前端,他最开始学习的目的单纯只是作本身的我的主页来装逼,由于想要给本身的主页加上炫酷的效果,因此开始自学相关的知识。他认为,抱着一种解决问题的态度去学习知识是最有效率的。我十分认同。之后在本身学习前端的过程当中,也要注意问题导向,项目驱动。本身给本身定个目标,例如作出本身的App,小程序。而后让目标驱使本身去主动地获取知识。(与此同时,也要注意扎实的基础知识的掌握。)
By 李清伟 Element 核心开发
element 仅仅只有3我的负责,却能保持至少一周一次更新,佩服!
By 马天翼(早弦) 阿里巴巴前端开发工程师、Weex 核心开发
● DOM
● BOM
● Layout
● scoped
● scroll
● background-image
● 适配问题
● 不支持 DOM 操做
● 仅支持部分事件类型
● 不支持事件冒泡
● 没有 window、 document、screen、history、location、navigator 等对象
解决办法:
● MVVM 大法好!
● 将来会有更多
● 新版本已经支持
● 使用 weex.config 或者内置模块
● Weex 官方指定布局系统
● 规范明确
● 布局适用大部分状况
● 面向将来
● 样式做用域默认是 scoped ,即只在当前组件生效
● 只有 scroller 组件默认有滚动效果
● 不能设置背景图
● 与 Native 原生组件共存的适配问题
● web 时代,内存能吃吗?
● weex 时代,内存够吃吗?
这三部份内存属于包含关系。例如:可能一个原生App只泄露了100M的jsfm内存,可是它可能泄露了150M的jscore内存,以及200M的native内存
知道了整个weex 项目原来只有13我的(其中前端仅仅3我的),很吃惊。Weex包含了vue2.0内核,能够看做vue的三端实现。以为本身能够尝试用weex完成移动端的vue编写。
By 王骆菲 VIDE(原DebugGap)做者
“某种东⻄的产⽣是因为社会的进步和发展到达⼀定的状态,出现了相应的条件,由此⽽产⽣”
对于协同开发而言,只关心有哪些状态可用,不关心具体实现逻辑。
只须要简单的三步,大大下降了编写插件的门槛,今后国人也能够轻松编写本身的插件。
想尝试写Vue插件
充实而愉快的一天就这样结束了,感谢各位大大的带来的精彩内容!(照惯例放上各位大大的合照2333)
脑洞大开的vue爱好者。。。
部分ppt尚未上传,未完待续~