-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
371 lines (266 loc) · 18.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.4.0">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
<link rel="mask-icon" href="/images/logo.svg" color="#222">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" integrity="sha256-2H3fkXt6FEmrReK448mDVGKb3WW2ZZw35gI7vqHOE4Y=" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
<script class="next-config" data-name="main" type="application/json">{"hostname":"funcle.cn","root":"/","images":"/images","scheme":"Pisces","version":"8.6.1","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":14},"copycode":true,"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"}}</script><script src="/js/config.js"></script>
<meta name="description" content="如果你的朋友圈没有名人 那么就去读他的书">
<meta property="og:type" content="website">
<meta property="og:title" content="Uncle F">
<meta property="og:url" content="https://funcle.cn/index.html">
<meta property="og:site_name" content="Uncle F">
<meta property="og:description" content="如果你的朋友圈没有名人 那么就去读他的书">
<meta property="og:locale" content="zh_CN">
<meta property="article:tag" content="技术博客,iOS,移动端,底层,前沿,心理,管理,职业发展">
<meta name="twitter:card" content="summary">
<link rel="canonical" href="https://funcle.cn/">
<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":true,"isPost":false,"lang":"zh-CN","comments":"","permalink":"","path":"index.html","title":""}</script>
<script class="next-config" data-name="calendar" type="application/json">""</script>
<title>Uncle F</title>
<noscript>
<link rel="stylesheet" href="/css/noscript.css">
</noscript>
</head>
<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
<div class="headband"></div>
<main class="main">
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"><div class="site-brand-container">
<div class="site-nav-toggle">
<div class="toggle" aria-label="切换导航栏" role="button">
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
</div>
</div>
<div class="site-meta">
<a href="/" class="brand" rel="start">
<i class="logo-line"></i>
<h1 class="site-title">Uncle F</h1>
<i class="logo-line"></i>
</a>
</div>
<div class="site-nav-right">
<div class="toggle popup-trigger">
</div>
</div>
</div>
<nav class="site-nav">
<ul class="main-menu menu">
<li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li>
<li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a></li>
<li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a></li>
<li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a></li>
<li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a></li>
<li class="menu-item menu-item-sitemap"><a href="/sitemap.xml" rel="section"><i class="fa fa-sitemap fa-fw"></i>站点地图</a></li>
</ul>
</nav>
</div>
<div class="toggle sidebar-toggle" role="button">
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
</div>
<aside class="sidebar">
<div class="sidebar-inner sidebar-overview-active">
<ul class="sidebar-nav">
<li class="sidebar-nav-toc">
文章目录
</li>
<li class="sidebar-nav-overview">
站点概览
</li>
</ul>
<div class="sidebar-panel-container">
<!--noindex-->
<div class="post-toc-wrap sidebar-panel">
</div>
<!--/noindex-->
<div class="site-overview-wrap sidebar-panel">
<div class="site-overview">
<div class="site-author site-overview-item animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
<img class="site-author-image" itemprop="image" alt=""
src="/images/avatar.png">
<p class="site-author-name" itemprop="name"></p>
<div class="site-description" itemprop="description">如果你的朋友圈没有名人 那么就去读他的书</div>
</div>
<div class="site-state-wrap site-overview-item animated">
<nav class="site-state">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">1</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
<div class="site-state-item site-state-categories">
<a href="/categories/">
<span class="site-state-item-count">1</span>
<span class="site-state-item-name">分类</span></a>
</div>
<div class="site-state-item site-state-tags">
<a href="/tags/">
<span class="site-state-item-count">1</span>
<span class="site-state-item-name">标签</span></a>
</div>
</nav>
</div>
</div>
</div>
</div>
</div>
</aside>
<div class="sidebar-dimmer"></div>
</header>
<div class="back-to-top" role="button" aria-label="返回顶部">
<i class="fa fa-arrow-up"></i>
<span>0%</span>
</div>
<noscript>
<div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>
<div class="main-inner index posts-expand">
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://funcle.cn/2018/06/25/GMTC-2018-%E8%A7%82%E5%90%8E%E6%84%9F%E9%9A%8F%E7%AC%94/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.png">
<meta itemprop="name" content="">
<meta itemprop="description" content="如果你的朋友圈没有名人 那么就去读他的书">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Uncle F">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2018/06/25/GMTC-2018-%E8%A7%82%E5%90%8E%E6%84%9F%E9%9A%8F%E7%AC%94/" class="post-title-link" itemprop="url">GMTC-2018 观后感随笔</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-comment"></i>
</span>
<span class="post-meta-item-text">Changyan:</span>
<a title="changyan" href="/2018/06/25/GMTC-2018-%E8%A7%82%E5%90%8E%E6%84%9F%E9%9A%8F%E7%AC%94/#SOHUCS" itemprop="discussionUrl">
<span id="url::https://funcle.cn/2018/06/25/GMTC-2018-%E8%A7%82%E5%90%8E%E6%84%9F%E9%9A%8F%E7%AC%94/" class="cy_cmt_count" data-xid="2018/06/25/GMTC-2018-观后感随笔/" itemprop="commentCount"></span>
</a>
</span>
</div>
<div class="post-meta">
<span class="post-meta-item" title="本文字数">
<span class="post-meta-item-icon">
<i class="far fa-file-word"></i>
</span>
<span class="post-meta-item-text">本文字数:</span>
<span>2.2k</span>
</span>
<span class="post-meta-item" title="阅读时长">
<span class="post-meta-item-icon">
<i class="far fa-clock"></i>
</span>
<span class="post-meta-item-text">阅读时长 ≈</span>
<span>2 分钟</span>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h2 id="参与会议"><a href="#参与会议" class="headerlink" title="参与会议"></a>参与会议</h2><p>首先列举此次GMTC大会主要参与的几个会议 </p>
<ol>
<li>GMTC2018-《51信用卡前端研发基础体系建设与工程化演进》-李阳</li>
<li>GMTC2018-《AR在直播系统中的应用》-李超</li>
<li>GMTC2018-《LinkedIn移动应用的性能优化之道》-廖锦幸</li>
<li>GMTC2018-《Swift+Outside+the+Apple+Ecosystem》-Mattt+Zmuda</li>
<li>GMTC2018-《使用Flutter快速构建集美观与高性能于一体的移动应用》-于潇</li>
<li>GMTC2018-《后工程化时代的通天塔》-侯振宇</li>
<li>GMTC2018-《基于Google+Flutter的移动端跨平台应用实践》-王树彬</li>
<li>GMTC2018-《携程大规模应用React+Native的工程化实践》-赵辛贵</li>
<li>GMTC2018-《美团客户端基于响应式的架构实践》-臧成威</li>
<li>GMTC2018-《英语流利说前端持续交付工程实践》-龚振杰</li>
</ol>
<h2 id="感想"><a href="#感想" class="headerlink" title="感想"></a>感想</h2><p>说感想,在会议进行时一些天马行空的想法会比较多,一开始的想法是打开电脑,随时的记录这些然后汇总成一篇报告,然而事总与愿为。所以只能总结几个印象较深的一些感触,与大家分享一下。课题的一些具体内容可以下载对应的PPT进行细读,应该都能有不一样的收获。</p>
<h3 id="基于一些性能优化、持续交互工程化连套感想"><a href="#基于一些性能优化、持续交互工程化连套感想" class="headerlink" title="基于一些性能优化、持续交互工程化连套感想"></a>基于一些性能优化、持续交互工程化连套感想</h3><ol>
<li>目前我们在做的事情是具有一定价值的。可能我们目前做了很多的代码重构,从每个小模块开始,被反复折腾,而且由于部分此因素,也是搞走了某一些同事。但是分享的一些大厂看来,他们也都是在折腾,越折腾越优秀,我是相信这个定律的。首先我们目前的一些思想方案都是保持着鲜活力的,甚至有些我们可能不知道的牛逼计划,兴国他们也都偷偷的进行了。由于目前硬件条件不行,所以排期也都往后延。谁叫大厂随便做个APP都是200多个安卓200多个iOS(来自领英分享),如果哪天给我们这么多,相信也可以做更多的事情。大会得到的信息就是别人也是这样走过来的,15人的架构-40人的架构-百人左右的架构不停的迭代。我们所做的并不比别人差,我们缺的是落实程度,所以我们应该实打实的去完成最初的一些方案。</li>
<li>资源有限,衍生了我们在有限的资源里做更多的事情。比如美团的分享一个UI界面配置各种包,根本不需要程序员任何操作,又比如说阿里的大牛介绍网页的生成变成可配置,连写代码都给抛弃了,我们写代码的目的可能最终的目的就是写更少的代码。通过这样别人做到的种种,我们也应该思考怎么解放自己的双手,目前我们也是一步步在做,module化,然后单元测试,到最后一个伟大的工程,目前所做的种种也是铺一些基石,扎实的底座才能使我们之后替换框架,重构坑少一点</li>
<li>Code review。这个东西一直是一个比较争议的东西,什么运行的不好,拉低整个团队迭代效率。根据Twitter分享的佛性Code review,主要Review机器看不出来的问题,其实可以把这个步骤当成一个学习的过程,并不是抱着去发现别人的bug,而是说学习代码思想,进而发掘潜在威胁。</li>
<li>怎么培养优化思维。其实大会较多的分享都是优化,而且我们自信一些优化方案我们也熟知,而现实是我们没有将熟知的方案用到任何地方,这就是我们的差距。怎么鼓励或者促进员工自我提升,在实现自我价值的同时将代码给优化了,或者说为了提高自我效率将工程化给一步步做了,这是一个值得进一步思考的问题。</li>
</ol>
<h3 id="flutter、RN等前流框架感想"><a href="#flutter、RN等前流框架感想" class="headerlink" title="flutter、RN等前流框架感想"></a>flutter、RN等前流框架感想</h3><ol>
<li>技术选型在项目前期的重要性并不是很明显(当然不是随便选个未知的这么草率)。借鉴两个大厂的例子,最近吵着要放弃RN的Airbnb,也是由于受够了RN在使用过程中离期望的效果相差甚远。还有一个有同样困扰的是在大会有做分享的阿里闲鱼,虽然分享者是没有明确说明放弃Weex,Weex离预期甚远的说明,但是阿里人也不可能公开打自己脸,只是从侧面说用了flutter之后效率提升2.5倍。拥有这么多人的大厂也还不是随便放弃就放弃(可能钱多吧,不太在乎),当然我们从目前精品框架中选一个也就OK了,不需要有太多的后顾之忧,反正几年后也会发一篇新闻(杭州登虹科技宣布放弃RN)。 最初的技术选型只是决定了产品形态,用户who care用什么技术实现,而对于开发来说,不追求性能卓越、效率奇高(zhe teng),那还不失业了,所以聪明的技术人总是会给自己找事情做。 性能优化反正也是我们不能停的rhythm,所以拉起裤腿就是干就好了。前端框架谁又能火人这一辈子,不管RN、Weex,有幸瞻仰了代码,不可否认十分优秀,但是被淘汰也是绝对的(Angular就是前一浪)。我想像中,肯定有那么一天,有一个可以绝对跨平台的容器,不管有多少种语言,都能在这个可能巨大(实际微小)的容器中运行。</li>
<li>这些谁谁谁放弃,谁又用了什么,其实不应该是我们追逐的重点。作为一个老老实实敲代码的人,应当做到外面炮火连天,心中还是屏幕前的那一句if、else。当初也是因为公司的机会使用了Weex,当时照样面临技术选型(RN、Weex、Ionic),在我的努力下使用了Weex。而作为技术人想提高自己,不应该是用了Weex,抛弃RN,我觉得应该去学习了解其它,对比在使用的(比如RN、Weex的原生渲染机制类似,都是系统的JS引擎,而flutter采用自己用c++写的,不依赖系统),或者去学习框架思想、或者去学习解决痛点方案、或者框架的持续交付方案,这么一说其实我们平时的项目需求也差不多都满足了。之前一直保持这个想法,此次大会也发现分享者有些解决方案思维也都是相同的,更好的验证这一点。</li>
</ol>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
</div>
</main>
<footer class="footer">
<div class="footer-inner">
<div class="copyright">
©
<span itemprop="copyrightYear">2021</span>
<span class="with-love">
<i class="fa fa-heart"></i>
</span>
<span class="author" itemprop="copyrightHolder"></span>
</div>
<div class="wordcount">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-chart-line"></i>
</span>
<span>站点总字数:</span>
<span title="站点总字数">2k</span>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-coffee"></i>
</span>
<span>站点阅读时长 ≈</span>
<span title="站点阅读时长">2 分钟</span>
</span>
</div>
<div class="busuanzi-count">
<span class="post-meta-item" id="busuanzi_container_site_uv">
<span class="post-meta-item-icon">
<i class="fa fa-user"></i>
</span>
<span class="site-uv" title="总访客量">
<span id="busuanzi_value_site_uv"></span>
</span>
</span>
<span class="post-meta-item" id="busuanzi_container_site_pv">
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="site-pv" title="总访问量">
<span id="busuanzi_value_site_pv"></span>
</span>
</span>
</div>
<div class="powered-by">由 <a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/pisces/" rel="noopener" target="_blank">NexT.Pisces</a> 强力驱动
</div>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script>
<script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/next-boot.js"></script>
<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<script class="next-config" data-name="changyan" type="application/json">{"enable":true,"appid":"cyvyhqlmI","appkey":"a825769fa74b6dde71b67c62b7cef4c6"}</script>
<script src="/js/third-party/comments/changyan.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/gitalk.css" integrity="sha256-AJnUHL7dBv6PGaeyPQJcgQPDjt/Hn/PvYZde1iqfp8U=" crossorigin="anonymous">
<script class="next-config" data-name="gitalk" type="application/json">{"enable":true,"github_id":"frankxiongsir","repo":"frankxiongsir.github.io","client_id":"b9771afb565106647fa8","client_secret":"70ae24d7e0c18e6b0403988daa1f8b443ca85447","admin_user":"frankxiongsir","distraction_free_mode":true,"proxy":"https://cors-anywhere.azm.workers.dev/https://github.com/login/oauth/access_token","language":"zh-CN","js":{"url":"https://cdn.jsdelivr.net/npm/[email protected]/dist/gitalk.min.js","integrity":"sha256-Pmj85ojLaPOWwRtlMJwmezB/Qg8BzvJp5eTzvXaYAfA="},"path_md5":"d1546d731a9f30cc80127d57142a482b"}</script>
<script src="/js/third-party/comments/gitalk.js"></script>
</body>
</html>