摘要: highcharts 是提供地图数据包的:https://www.highcharts.com/docs/maps/map-collection echart矢量地图或者地图绘制矢量图层,GeoJSON哪里提供呢? dataV提供数据下载,http://datav.aliyun.com/tools/ 阅读全文
posted @ 2023-04-09 21:48 zhoulujun 阅读(912) 评论(0) 推荐(0) 编辑
摘要: 无论是百度还是高德地图开发,还是高德地图开发。官方的给的案例启示很多,copy再修改下,就完成了 https://lbs.amap.com/api/javascript-api/summary http://lbsyun.baidu.com/index.php?title=jspopular3.0 阅读全文
posted @ 2023-04-09 21:44 zhoulujun 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Dart与Java的一些直观区别GoGo作为一种简单的语言,非常适合构建网络应用程序,这是正确的,如果你不需要其他功能,如泛型。个人觉得Dart和Java JavaScript有很多共通之处,对于typescript,个人觉得dart替代性更好 阅读全文
posted @ 2023-04-09 21:38 zhoulujun 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 动态类型语言不满足人民群众日益增长的性能需求,同时暴露了对类型过于宽松而造成的可维护性,可调试性下降。Dart作为新时代的语言,支持JIT与AOT的新人,个人觉得还是好好琢磨下,笔记可能是未来web王者 阅读全文
posted @ 2023-04-09 21:32 zhoulujun 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 微信小程序从文件组织上看,一个小程序页面或组件,需要同时包含 4 个文件:脚本逻辑、样式、模板以及配置文件(page.js、page.wxss、page.wxml 、page.json) 阅读全文
posted @ 2023-04-09 21:25 zhoulujun 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 像Qt 和 Flutter 从底层的渲染引擎 布局引擎 中层的 DSL,再到上层的框架全部由自己开发 ,研发成本巨大。React Native 和 Weex 没有渲染引擎,渲染的一致性无法保证。JS 和 Native 之间需要通信延迟等。Taro WePY uni-app抹平小程序之间 阅读全文
posted @ 2023-04-09 21:20 zhoulujun 阅读(110) 评论(0) 推荐(0) 编辑
摘要: weex-vue-framework向原生端发送渲染指令,最终渲染生成的是原生组件。WXBridge 是 weex 实现的一种 js 和 客户端通信的机制。客户端设计一套 JS Bridge,让 native 代码可以和 JavaScript 引擎相互通信,Weex源码转换成JS Bundle,异步更新 阅读全文
posted @ 2023-04-09 21:13 zhoulujun 阅读(282) 评论(0) 推荐(0) 编辑
摘要: react native还原UI界面跟写web react 差不多,布局及样式有css基础在StyleSheet里面写一样。其实跟Android写xml大同小异而已。只是react native动画方面,设置起来还是风格迥异 阅读全文
posted @ 2023-04-09 21:08 zhoulujun 阅读(86) 评论(0) 推荐(0) 编辑
摘要: React是一个纯JS的UI库,只能干HTML/CSS/JS 提供的Web服务(新的H5 API不一定支持), React-Native厉害在于它能打通JS和Native Code, 让JS能够调用丰富的原生接口,充分发挥硬件的能力, 实现非常复杂的效果,同时能保证效率和跨平台性。 在一定程度上,R 阅读全文
posted @ 2023-04-09 20:56 zhoulujun 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 前端的性能优化有诸多有迹可循的理论和方法,比如 Yahoo!性能军规(Best Practices for Speeding Up Your Web Site)、Google Pa 阅读全文
posted @ 2023-04-09 20:52 zhoulujun 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 解决文本文档的协同编辑有两种方案,一种是 Google Doc 使用的 Operational transformation (OT),还有一种就是 Atom teletype 使用的 Conflict-free replicated data type (CRDT)。 阅读全文
posted @ 2023-04-09 20:28 zhoulujun 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Google Wave“领先于时代”,而谷歌并没有有效地解释该服务的真正好处。Google Wave是一个工具 ,也是一个平台 、还是一个协议 。其架构的核心是操作转换 (Operational Transformation,OT),这是一个支持并发控制的理论型框架。 阅读全文
posted @ 2023-04-09 20:23 zhoulujun 阅读(41) 评论(0) 推荐(0) 编辑
摘要: SaaS——软件即服务(Software as a Service)的出现改变了传统使用软件转变为使用服务。 SaaS与传统软件的最大区别是,前者按年付费租用服务,后者一次买断。这貌似只是“报价方式”的区别,实际上这是一个根本性的变化,这带来的是对服务模式、销售模式、公司价值等多维度的根本影响。 传 阅读全文
posted @ 2023-04-09 20:09 zhoulujun 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 了解其有关Port方面的设计,从而了解究竟如何能移植WebKit到自己的应用中。WebKitPort方面的内容是可以很广的,例如可将不同的图形库、网络库与WebCore集成,提供不同的Port接口供外部程序使用等,例如同样在windows平台上可以运 阅读全文
posted @ 2023-04-09 20:02 zhoulujun 阅读(28) 评论(0) 推荐(0) 编辑
摘要: WebKit作为一个浏览器引擎,其中Javascript实现包括JavaScriptCore和V8,为了能更全面的了解WebKit,我们需要深入的了解Javascript实现的基 阅读全文
posted @ 2023-04-09 18:33 zhoulujun 阅读(92) 评论(0) 推荐(0) 编辑
摘要: webKit作为一个相对独立的浏览器引擎在Safari、iPhone、Adobe AIR等中都有应用,非常值得大家深入的研究研究。WebKit主要包括三个部分WebCore、JavascriptCore及Ports部分,让我们先从WebCore部分出发吧 阅读全文
posted @ 2023-04-09 18:28 zhoulujun 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 作为一个广受好评的浏览器引擎,其网页布局的质量(包括速度、效率、符合标准度等)往往是其关键,那么WebKit究竟是如何布局网页上的所有元素(包括滚动条、文字、图片、按钮、下拉框等)呢?其主要数据结构及流程都包括哪些呢?其布局的基本概念及标准都有哪些呢?下面分别介绍WebKit对其实现及运用。我们首先 阅读全文
posted @ 2023-04-09 18:22 zhoulujun 阅读(86) 评论(0) 推荐(0) 编辑
摘要: Rhino 是一种动态类型的、基于对象的脚本语言,它可以简单地访问各种 Java 类库。Nashorn是一种单层的纯编译型JavaScript实现。所有JavaScript代码在首次实际执行前都会被编译为Java字节码交由JVM执行。 阅读全文
posted @ 2023-04-09 18:14 zhoulujun 阅读(430) 评论(0) 推荐(1) 编辑
摘要: V8的性能远高于当时所有其它JavaScript引擎,各大JavaScript引擎的实现者都坐不住了,像打了鸡血似的使劲优化优化再优化。当代JavaScript引擎之间有许多共通的实现技巧。多数优化会对JavaScript程序的行为做一定猜测(speculate) 阅读全文
posted @ 2023-04-09 18:06 zhoulujun 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 其实早期的两个主要的JavaScript引擎实现,一直在用mark-and-sweep GC。Java写的Rhino一度能比用C写的SpiderMonkey跑得还快,因为Rhino得益于JVM里优秀的JIT编译器和GC,而SpiderMonkey还在用简易的解释器和GC。 阅读全文
posted @ 2023-04-09 18:00 zhoulujun 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 优化JS的执行效率 降低样式选择器的复杂度 避免大规模、复杂的布局 尽可能避免触发布局 避免强制同步布局事件的发生 避免快速连续的布局 简化绘制的复杂度 减小绘制区域 优先使用渲染层合并属性 控制层数量 节流 抖动 阅读全文
posted @ 2023-04-09 17:49 zhoulujun 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Chrome支持以下几种进程模型:Process-per-site-instance Process-per-site Process-per-tab Single Process。Browser只有一个,主控整个系统的运行,管理Chrome大部分的日常事务;而Renderer则可以有多个,主要负责页面的渲染和显示。 阅读全文
posted @ 2023-04-09 17:39 zhoulujun 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 无法科学上net,如何安装插件?国产插件其实基本都是皮包chrome,可以安装插件后导出。自己chrome已经安装的插件也可以备份。这里提供一份本人备份打包的插件列表,基本满足日常开发需求 阅读全文
posted @ 2023-04-09 17:29 zhoulujun 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 本文回顾浏览器的发展历史:作为前端老鸟,从IE的6、7、8开始做前端,各种兼容性折磨死人。js还好有了jQuery。chrome出来后,真是救苦救难,解救程序员的于水火。但是可恶的boss还是要求兼容ie6,7。 阅读全文
posted @ 2023-04-09 17:22 zhoulujun 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 回流与重绘,当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(reflow)。每个页面至 阅读全文
posted @ 2023-04-09 17:13 zhoulujun 阅读(59) 评论(0) 推荐(0) 编辑
摘要: button {&-ok {}}, button { &:after {}} 这一类用法是非常熟悉的。p, a, ul, li { & + & {border-top: 0;}} 这一类组合就可以吓死人咯。&符号还可以改变 css类的输出顺序。如 button{a&{}} 阅读全文
posted @ 2023-04-09 16:56 zhoulujun 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 从形式上来说,CSS3 标准自身已经不存在了。每个模块都被独立的标准化。但是每个模块都可以追溯其来龙去脉。从印刷出版到互联网的兴起,这期间板式设计可以构成一篇雄文。 阅读全文
posted @ 2023-04-09 16:10 zhoulujun 阅读(67) 评论(0) 推荐(0) 编辑
摘要: vue2异步加载之前说过,vue3还是之前的方法,只是把 i18n.setLocaleMessage改为i18n.global.setLocaleMessage 但是本文还是详细说一遍: 为什么需要异步加载语言包 主要还是缩小提代码包,没有按需加载前,语言包内容太多 好几屏幕全部是,虽然从webpa 阅读全文
posted @ 2023-03-18 18:04 zhoulujun 阅读(366) 评论(0) 推荐(1) 编辑
摘要: 面向过程(PO) 面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上写完整的逻辑,什么封装,抽象,继承一概不懂,就有一种一个方法把实现过程需要的逻辑都罗列了,面向过程分析的是步骤。这样说过 阅读全文
posted @ 2023-03-18 17:59 zhoulujun 阅读(382) 评论(0) 推荐(1) 编辑
摘要: 之前写的《webpack性能优化(0):webpack性能优化概况-优化构建速度》、《webpack性能优化(1):分隔/分包/异步加载+组件与路由懒加载》 如果使用vue-cli,默认生成的vendor.js文件会非常大。这个时候需要进行拆包。其实打包输出后,都可以用如下工具瞧瞧包依赖情况。 we 阅读全文
posted @ 2023-03-18 17:52 zhoulujun 阅读(920) 评论(0) 推荐(0) 编辑
摘要: webpack ensure相信大家都听过。有人称它为异步加载,也有人说做代码切割,那这个家伙到底是用来干嘛的?其实说白了,它就是把js模块给独立导出一个.js文件的,然后使用这个模块的时候,webpack会构造script dom元素,由浏览器发起异步请求这个js文件。 这样解决整个项目打包成同一 阅读全文
posted @ 2023-03-18 17:50 zhoulujun 阅读(507) 评论(0) 推荐(0) 编辑
摘要: webpack本质上是一种事件流的机制,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,webpack中最核心的负责编译的Compiler和负责创建bundles的Compilation都是Tapable的实例。 Webpack 可以认为是一种基于事件流的编程范例,内部的工 阅读全文
posted @ 2023-03-18 17:42 zhoulujun 阅读(106) 评论(0) 推荐(0) 编辑
摘要: Tree-shaking 最早由打包工具 Rollup 提出 DCE 作用于模块内(webpack 的 DCE 通过 UglifyJS 完成),而 Tree-shaking 则是在打包的时候通过模块之间的信息打包必须的代码。 Webpack 从 2 开始也支持 Tree-shaking,对于一个模块 阅读全文
posted @ 2023-03-18 17:38 zhoulujun 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 热更新,主要就是把前端工程 文件变更,即时编译,然后通知到浏览器端,刷新代码。 服务单与客户端通信方式有:ajax 轮询,EventSource、websockt。 客户端刷新一般分为两种: 整体页面刷新,不保留页面状态,就是简单粗暴,直接window.location.reload()。 基于WD 阅读全文
posted @ 2023-03-18 17:32 zhoulujun 阅读(294) 评论(0) 推荐(0) 编辑
摘要: vue3溢出文本tooltip或title展示解决方案—如何获取文本宽度 Author:zhoulujun Date:2023-03-06 Hits:5 解决文本溢出,鼠标悬浮展示tooltips,要解决2大难题。第一个是解决文本宽度的问题。毕竟 若果text-overflow: ellipsis生 阅读全文
posted @ 2023-03-18 17:21 zhoulujun 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 首先,不管采用何种开发模型。软件开发都至少具有以下的周期,包括: 需求获取/分析(系统分析、软件分析) 设计 实现 测试 发布(运行) 维护 既然所有的开发模型都具有相同的开发周期,那不同的开发模型的差别从哪里体现呢?或者说不同的开发模型在指导开发过程中的差异点在哪里? 我理解的差别点主要体现在: 阅读全文
posted @ 2023-03-18 16:49 zhoulujun 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 什么是 SDK? SDK 全称 Software Development Kit,广义上的 SDK 是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合(在 iOS 项目中,SDK 也被称为库)。 SDK 的全称是 Software Development Kit,翻 阅读全文
posted @ 2023-03-18 16:41 zhoulujun 阅读(2077) 评论(0) 推荐(0) 编辑
摘要: 插件实践方案 其实插件你就把它当一个组件来用就好。用起来就是异步组件加载。 vue异步组件加载,看官方文档:https://cn.vuejs.org/v2/guide/components-dynamic-async.html react异步组件加载,其实更好办:在Suspense里面 渲染异步组件 阅读全文
posted @ 2023-03-18 16:35 zhoulujun 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 前端页面资源如何分享,常见的有iframe,其次是js-sdk。这两类的在地图类工具经常用。微前端是最佳比较火的方式。本篇是他们的对比分析。 下一篇讲 BK-VISION如何在让用户自由选择 iframe/JS-SDK/微前端的模式共享 iframe iframe嵌入是目前使用很广泛的一种嵌入方案, 阅读全文
posted @ 2023-03-18 16:22 zhoulujun 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 基础代码的复用往往比较简单,但是业务代码的复用通常是困难的,如果没有特殊的手段去治理项目会逐渐发展为难以维护的巨石应用,按照维基百科记载,代码的复用形式主要有三种,程序库,应用框架,设计模式 程序库 前端业务代码在程序库的体现主要是通过业务组件,稍微大点的团队都有自己的业务组件库,但是我去过的很多团 阅读全文
posted @ 2023-03-18 16:16 zhoulujun 阅读(189) 评论(0) 推荐(0) 编辑