前端技术周刊 2019-01-21:跨端开发的三条路线

2019-01-21

前端快爆

  • 微软 Edge 开发者意图为 Chrome 实现 HTML Modules,该规范用来替代之前的 HTML Imports。其优点是基于 ES Modules,可以避免全局对象污染、脚本解析阻塞等问题。?

点评:举报,有人在「秀恩爱」!

<!- 早期的 HTML Imports ->
<link rel="import" href="myfile.html"><!- HTML Modules ->
<!- module.html ->
<div id="blogPost"><p>Content...</p>
</div>
<script type="module">let blogPost = import.meta.document.querySelector("#blogPost")export {blogPost}
</script>
复制代码
<!- blog.html ->
<script type="module">import {blogPost} from "module.html"document.body.appendChild(blogPost)
</script>
复制代码
  • Firefox 66 中,CSS grid-template-columns/rows 属性现在支持动画了。?

点评:Firefox 是第一个支持该特性的浏览器,其他浏览器应该会很快跟进,Demo

  • Chrome Canary 73 的开发者工具实现了新的悬停工具,可以快速预览当前选中元素的一些 CSS 属性和对比度。?

点评:如果可以直接提示当前文本所实际使用的字体就更好啦。

优秀 Demo

  • 纯 CSS 实现的滑块

  • 五种 CSS 彩带效果

专题:跨端开发的三条路线

2018 年跨端开发对于选择恐惧症来说不是很友好。本刊秉持着一贯抵抗熵增的思路,为大家梳理了跨端开发的三条路线。

路线1: 重量级 App

重量级 App 的开发方式可以控制容器层。这条线路始整体发展思路是:在更动态化的同时,提升性能。参考:?

  1. 原生开发:问题在于需要开发多端,开发效率和动态化能力弱
  2. WebView 能力扩展:WebView 用于渲染,能力扩展通过桥接层,主要问题是性能差
  • 包括 PhoneGap、Cordova、Ionic、Xamarin 等
  1. 跨平台桥接:桥接层同时负责渲染和能力扩展
  • React Native

Facebook 开源,这条思路的开创者,主要问题是应用体积大、启动慢、双端接口不统一、稳定性差

  • Weex

阿里开源,在 Vue 技术栈之上的类似方案

  • Hippy

腾讯闭源,针对 React Native 的主要问题进行了优化

  • Picasso

美团闭源,从介绍来看主要优化在于布局算法方面,附赠 PPT 一枚

  1. Flutter:通过编译,取消桥接层,减少通信消耗

Google 开源,利用 Dart 语言编译到原生

路线2: 轻量级 App

如果将对容器的控制权给出,挂载到更大平台如 Android 系统或超级应用,则是 18 年时兴的小程序或快应用了。

  • 应用级别跨端

微信小程序、支付宝小程序、百度小程序 、淘宝轻应用等

  • PWA

Google 主推,挂载于 Android 系统

  • 快应用

厂商联盟主推,挂载于国产 Android 手机的系统,架构有参考 Weex,附 PPT

路线3: 开发方式整合

在上述两条线路的发展之下,前端兼容线再度陷入碎片化:安卓 App、苹果 App、Web、小程序、快应用……为了弥合这样的碎片化,一个可能性即是通过一套 DSL 来编译到各个不同端,这中间包含了多个公司不同方向的努力:

  • Taro

京东开源,DSL 基于 JSX,通过 React Native 兼容原生开发

  • Rax

阿里开源,DSL 基于 JSX,通过 Weex 兼容原生开发,附赠介绍一枚

  • Mpx

滴滴开源,DSL 借鉴 Vue,支持微信、支付宝小程序

  • mpVue

美团开源,DSL 借鉴 Vue,支持 Web 和美团小程序

  • UniApp

DCloud 开源,DSL 借鉴 Vue,融合 mpVue 的小程序能力,通过 Weex 兼容原生开发

  • Wepy

腾讯开源,DSL 借鉴 Vue,支持 Web 和微信小程序


本期编辑:@壹丝;专题供稿:@承虎、@龙笛。

首发地址:zhuanlan.zhihu.com/mm-fe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分配内存的方法,需要32位对齐

type 是char&#xff0c;short&#xff0c;int 。 #define DATA_ALIGN 1 #if DATA_ALIGN && WIN32 && (_MSC_VER > 1300) #define my_malloc(type,len) _aligned_malloc(sizeof(type) *(len), 32) #define my_free(ptr) _aligned_free(ptr) #e…

zabbix-02-CentOS7.4安装zabbix4.0

一、环境准备 1.1 主机规划 这里先对本次实验的机器做一个规划&#xff0c;之后的实验均通过这两台机器完成。 序号IP地址主机名CPU内存硬盘安装服务110.0.0.11zabbix-server1C2G20GBzabbix服务端210.0.0.12zabbix-agent1C1G20GBzabbix客户端1.2 操作系统选择 操作系统选择&…

再谈并发

再谈并发 上一篇python并发中讲到了&#xff0c;使用多进程&#xff0c;多线程&#xff0c;多任务来加快程序的运行。其中讲到的一点似乎有点问题&#xff0c;操作系统中线程是调度器的最小执行单位&#xff0c;那为何python中的多线程无法利用多核&#xff0c;只能在一个处理器…

centos6.8安装docker,kong-dashboard并实现页面访问

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我们通过kong-dashboard的admin-UI管理界面进行直观的查看。最终显示界面如图&#xff1a; 因为这个kong-dashboard要用到docker&#x…

leetcood学习笔记-204-计算质数

题目描述&#xff1a; 第一次提交;(超时)&#xff1a; class Solution:def countPrimes(self, n: int) -> int:count 0for i in range(2,n):for j in range(2,i1):if i%j 0 and j!i:breakif ji:count1return count 别人家的&#xff1a; 这题搜到一个非常牛逼的算法,叫做厄…

linux man

nameman - 即 manual &#xff0c;在线查看命令手册。 描述man 是一个系统手册&#xff0c;man 的每一个选项通常是命令名&#xff0c;查找显示选项中的每个相关联的手册页&#xff0c;默认操作按照指顺序&#xff0c;按屏打印显示。 下表显示手册章节号&#xff0c;以及它们包…

centos-install-kong-cassandra

转自&#xff1a;http://blog.54im.com/2016/12/15/centos-install-kong-cassandra/#前置阅读 对于一些传统的大型项目&#xff0c;传统的方式会有一些缺陷&#xff0c;比如说新人熟悉系统成本高&#xff08;因为整个系统作为一个整体&#xff0c;彼此会有一定的牵连&#xff0…

akshare做mfi策略

#!/usr/bin/env python # coding: utf-8#先引入后面可能用到的包&#xff08;package&#xff09; import pandas as pd import numpy as np import matplotlib.pyplot as plt#正常显示画图时出现的中文和负号 from pylab import mpl mpl.rcParams[font.sans-serif][SimHei] …

第二章学习小结

第二章学习小结 对比于上学期所学的知识&#xff0c;能切实感觉到这个学期的课程更加深入和抽象&#xff0c;在学习上难度也有所增加&#xff0c;虽然上个学期就听老师推荐过博客园&#xff0c;但是真正开始写博客还是第一次&#xff0c;最直观的感受就是在完成博客的过程中&am…

翁同龢后人向上海博物馆捐赠两件重要家藏

1月24日&#xff0c;翁万戈先生捐赠书画仪式在上海博物馆内举行。 上海博物馆 供图 1月24日&#xff0c;翁万戈先生捐赠书画仪式在上海博物馆内举行。 上海博物馆 供图 中新网上海1月24日电 (王笈)翁同龢后人翁以钧24日携夫人柳至善&#xff0c;代表翁万戈将两件翁氏家族的重要…

mysql数据库操作

连接mysql from sqlalchemy import create_engine import pandas as pd import numpy as np import matplotlib.pyplot as plt import pymssql from scipy.interpolate import interp1dfrom datetime import timedelta #正常显示画图时出现的中文和负号 from pylab import mpl…

AutoHotkey调用VBA实现批量精确筛选数据透视表某字段内容。

如上图&#xff0c;想在数据透视表中只显示红色区域的内容&#xff0c;手动勾选就比较繁琐。 实现思路&#xff1a; 先复制红色的内容。鼠标停留在数据透视表【型号】列的任意数据上&#xff08;通过该单元格可以获取数据透视表和字段&#xff09;由于数据透视表的字段不能全部…

SQL中的case when then else end用法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数…

HEVC/H265 性能分析

HEVC/H265 标准中的目标是&#xff1a;H264的码率一般&#xff0c;质量一样&#xff0c;是否达到&#xff0c;数据说话。 下面是视频编解码大师测试数据&#xff1a; HEVC: is it really twice as good as H.264? The new standard for video compression, High Efficiency V…

“90后”台湾籍乘务长的第一个大陆春运

中新网上海1月25日电 题&#xff1a;“90后”台湾籍乘务长的第一个大陆春运 中新网记者 李佳佳 黄佳莹&#xff0c;“90后”的台北妹子。年纪虽小&#xff0c;资历却不浅&#xff0c;2018年她晋升为春秋航空客舱部乘务长&#xff0c;成为大陆首批台湾籍乘务长之一。“90后”台湾…

mysql+tushare搭建本地数据库

创建股票数据库 #!/usr/bin/env python # -*- coding: utf-8 -*- # Date : 2018-09-04 14:34:59 # Author : Michael Li # Version : $V2.0$import pandas as pd import numpy as np import datetime import random import pymssql from sqlalchemy import create_engine …

hbase单机搭建

一、下载 https://hbase.apache.org/downloads.html  2.1.3版本 解压&#xff0c;拷贝到文件夹 /hbase/hbase-2.1.3 设置HBASE_HOME环境变量&#xff0c;把它加到path环境变量中去 source /etc/profile 二、配置 &#xff11;.在/data下创建目录 mkdir /data/hbase mkdir /d…

mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我的情况 &#xff1a; Mysql 5.7.21 版本运行sql 报错如题&#xff0c;同样的 sql 直接本地运行不报错。 但是当连接的是服务器上的 …

多股票投资组合+马科维茨计算组合

import matplotlib.pyplot as plt from pandas import read_excel import numpy as np import tushare as ts import pandas as pd import datetime token prots.pro_api(token) 获取财务数据 #获取财务数据 ticker_list [601318.SH,601336.SH,601398.SH,601888.SH,603993.S…