weex

Vue3.0源码解析来一篇

安稳与你 提交于 2021-02-18 06:20:38
Vue.js 3.0 "One Piece" 已经正式发布,相比之前速度更快、体积更小、更易于维护。 与2.0相比, Vue3.0的代码组织更为清晰合理 。在项目的packages目录下分为了好几个模块。比如用于编译模板的 compiler-core模块 ,用于运行时的 runtime-core模块 和 runtime-dom模块, 用于服务端渲染的 server-renderer 模块等等。 当然,一定会有同学问,Vue2.0我已经很精通了,为什么还要学3.0? 首先,Vue3.0的源码中有很多问题的解决方案,如果熟练掌握这些方案,将会更有利于我们今后的工作。 其次,学习Vue3.0能够 提升自己解读源码的能力 , 掌握解读源码的深层规律 , 有利于后期学习其他框架或接手新的项目开发 。 作为一个合格的前端开发程序员,如果你想要更上一个台阶,拿到更高的薪水,学习的速度一定要赶上技术更新的速度。所以,Vue3.0的进阶学习十分必要。 其实从去年下半年Vue.js 3.0的alpha版本出来后,网络上就铺天盖地的出现一些解析源码类的文章,不过大部分文章都浮于表面,能够带来的帮助也十分有限,不能进行深入分析。 而且vue 3.0用了大量的 Reflect/Proxy/Symbol/Map/Set,你需要确保这些api你都了如指掌。 因此,对于拥有vue基础的同学们来说

Flutter学习笔记(30)--Android原生与Flutter混编

邮差的信 提交于 2021-02-17 20:38:24
如需转载,请注明出处: Flutter学习笔记(30)--Android原生与Flutter混编 这篇文章旨在学习如何在现有的Android原生项目上集成Flutter,实现Android与Flutter的混编,文章主体内容分为5部分,如下: Android项目如何集成FlutterModule Flutter视图是如何展示到前台界面的 Flutter与Weex对比 如何进行原生页面跳转到Flutter页面 原生如何与Flutter进行传值通信(以EventChannel为例说明) 接下来我会按照上面列出来的5点,逐一的进行实例讲解说明 1.Android项目如何集成FlutterModule Android原生项目集成Flutter有两种方式,一种是在原生项目内集成FlutterModule,还有一种是将FLutter项目打包成arr文件,然后以组件的形式被原生项目依赖。这里我们就只说一下在原生项目内集成FlutterModule。 第一步:在主工程下创建FlutterModule,File->New->New Flutter Project,然后选择Flutter Module点击Next。 设置完成之后点击Finish,创建完module后我们来看一下工程的目录结构 第二步:在app下的build.gradle添加依赖 // 在android下添加jdk1.8支持

如何实现一次编码,到处运行?新一代云端一体化探索

旧街凉风 提交于 2021-02-17 13:06:53
阿里妹导读 :当前移动互联网业务研发运维模式,云与多端互相割裂,有些全栈的探索缺乏成功案例,行业对云端一体化研发这块仍是空白,我们要思考:如何能实现 1 个研发支撑云 + android + iOS 三端的业务快速落地?是否有新的研发运维模式,让程序员回归程序?“一次编码、到处运行”是我们的答案。我们在闲鱼项目验证,原本 60 天的项目时间减少了 20 天,提效 33% 。希望阿里高级技术专家孙棋的分析能够给大家带来收获。 业务研发模式的演进 效率是业务研发运维模式演进核心驱动力 PC 互联网时代,单体应用包含前后端是最初的研发模式(淘宝经历开发人员写 velocity 模板,以及更早的 jsp、asp 页面)其实质是中心化搭火车的研发模型。 随着业务发展复杂性快速增加,赶火车的交付模式,极大的限制了业务发展,因此诞生了服务化的拆分,淘宝在 09 年的五彩石项目即基于这样的背景,微服务是一种软件架构,这背后更是一种研发模式的变革,从中心化研发模式到分布式的研发模式升级。 在业务分布式研发模式升级的同时,前后端分离研发模式也在同步的演进,从 ajax 到专业前端独立完成业务闭环,职业分工细化提效。但对前端同学而言,服务端的运维始终是其痛苦的技术门槛,以及在阿里以 Java 语言为基础的中间件生态内,一直没有很好解决。 进入移动互联网时代,客户端同样也经历同样的演进,阿里集团以

weex 启动 ios 模拟器

旧街凉风 提交于 2021-02-10 18:31:08
前提需要的安装   node   npm   weex-toolkit   cocoaPods 1. 创建weex工程   weex create helloWolrd 2. 进入helloWolrd文件夹安装依赖,我用cnpm install的话就会报错,这里最好用npm install   npm install 3. 添加ios应用   weex platfrom add ios 4. 到platforms/ios目录下为ios工程用cocoaPods安装第三方依赖,这里ios工程需要安装的依赖可以打开ios目录下的Podfile文件查看,如下      好了,接下来用pod命令对这些依赖进行安装,cd到ios目录,pod install就可以了,前提是要先安装好cocoaPods,ios开发对它都比较熟悉,这个网上有很多教程。还有如果pod库很久没有更新的话很可能会安装失败,因为找不到上图中新版本的weex相关的库,建义pod setup,pod update更新一下库。这个最好翻-墙操作,否则会等很久。如果之前更新过pod,那使用 pod install --no-repo-update 安装会更快。安装好后如下:    5. 再回到weex根目录,启动ios 模拟器   weex run ios   这一行命令下去,会先启动weex的webpack服务

iOS 14下面图片无法加载,包括weex、YYAnimateView、SDAnimatedImageView

≡放荡痞女 提交于 2021-02-10 17:53:57
升级xcode12后,编译运行App发现大片大片的图片加载不出来,包括weex的图片和YYAnimateView的图片都有问题。 经过一番研究之后,发现是iOS 14下UIKit对 `displayLayer:`的处理机制有所变化。 `displayLayer:`是`CALayerDelegate`的代理方法。在iOS 14之前,UIKit在调用这个方法之前就会去渲染`UIImageView.image`。 而在iOS 14,UIKit则是先去调用代理方法,如果你实现了`displayLayer:`这个方法,那么UIKit就不会再去渲染了。 如果改成下面这样就可以正常加载了: ``` - (void)displayLayer:(CALayer *)layer { UIImage *currentFrame = _curFrame; if (currentFrame) { layer.contentsScale = currentFrame.scale; layer.contents = (__bridge id)currentFrame.CGImage; } else { // If we have no animation frames, call super implementation. iOS 14+ UIImageView use this delegate method

让小程序在自有App中启动的技术来了:mPaaS小程序架构深度解析

风流意气都作罢 提交于 2021-01-23 05:26:33
简介: mPaaS 小程序框架作为一款 App 通用框架,帮助开发者面向自身的 App 实现小程序投放。不止如此,小程序代码仅需撰写一次,便可多端投放至自有 App、支付宝、钉钉甚至其他小程序开放平台。 ⚅ 点击观看《mPaaS 小程序新品发布会》回放 > > 随着小程序技术的愈发成熟,不同平台的优势和典型使用场景各有侧重,同时越来越多的开发者可以结合自身的业务特色,通过小程序作为业务载体,形成单一平台或多平台的协同关系。 而今天,小程序技术的开放,mPaaS 小程序框架作为一款 App 通用框架,帮助开发者面向自身的 App 实现小程序投放。不止如此,小程序代码仅需撰写一次,便可多端投放至自有 App、支付宝、钉钉甚至其他小程序开放平台。 本文将围绕支付宝在移动端架构的演进逐步展开,分享我们在“App 动态性”“提升研发效率”等方面所做的思考和具体实践。同时,针对 mPaaS 小程序能力的开放,也将展开介绍我们如何实现“小程序代码只写一次,多端投放”,而这将给开发者带来完全不同的开发体验。 支付宝 App 发展历程 首先让我们先回顾看看支付宝 App 在近几年的具体发展历程。 支付宝一开始仅仅只是一个单体应用的工具型 App,让用户可以在手机完成支付宝相关的业务查询和操作。2013 年后,支付宝逐步转型为平台型 App, 平台型 App 具有“服务化、模块化、工具组件化”的特点

一套代码、多端运行,大前端时代,如何用Flutter制霸全平台?

☆樱花仙子☆ 提交于 2021-01-15 04:51:17
“小步快跑、快速迭代”的开发大环境下 ,“一套代码、多端运行” 可以说是很多技术团队的梦想。为了这个梦想,我 曾考察过很多跨平台开发框架 ,比如 React Native、Weex、PWA 等等,但是因为各种原因,放弃了。 直到2018年12月5日,谷歌公开发布 Flutter 1.0版本, Flutter 正式成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备,“一套代码、多端运行”的梦想貌似看到了一线曙光。 Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,有跨平台、高保真、高性能等优点。 因为这些革命性的优点,从发布到现在,它的热度一路攀升,受到了很多开发者的热切青睐,也有了 很多知名的商业案例,比如阿里闲鱼、今日头条、腾讯 Now、美团等。 Flutter示例 在正式版发布半年多的时间里, Flutter 在 GitHub 上的 Star 就已经超过了 68,000, 已经发布了 4 年多的同行业领头羊 React Native 项目,Star 也不过 78,000。 现在看来, 在 Google 的强力带动下,Flutter 极有可能成为跨平台开发领域的终极解决方案。 如何高效学习、快速上手 Flutter呢? 从 Flutter 发布到现在的大半年时间,我接触到很多 前端、Android、iOS 的开发者 ,超过 80% 的人告诉我他正在学或打算学

一套代码、多端运行,大前端时代,如何用Flutter制霸全平台?

做~自己de王妃 提交于 2021-01-15 03:32:47
“小步快跑、快速迭代”的开发大环境下 ,“一套代码、多端运行” 可以说是很多技术团队的梦想。为了这个梦想,我 曾考察过很多跨平台开发框架 ,比如 React Native、Weex、PWA 等等,但是因为各种原因,放弃了。 直到2018年12月5日,谷歌公开发布 Flutter 1.0版本, Flutter 正式成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备,“一套代码、多端运行”的梦想貌似看到了一线曙光。 Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,有跨平台、高保真、高性能等优点。 因为这些革命性的优点,从发布到现在,它的热度一路攀升,受到了很多开发者的热切青睐,也有了 很多知名的商业案例,比如阿里闲鱼、今日头条、腾讯 Now、美团等。 Flutter示例 在正式版发布半年多的时间里, Flutter 在 GitHub 上的 Star 就已经超过了 68,000, 已经发布了 4 年多的同行业领头羊 React Native 项目,Star 也不过 78,000。 现在看来, 在 Google 的强力带动下,Flutter 极有可能成为跨平台开发领域的终极解决方案。 如何高效学习、快速上手 Flutter呢? 从 Flutter 发布到现在的大半年时间,我接触到很多 前端、Android、iOS 的开发者 ,超过 80% 的人告诉我他正在学或打算学

Vue学习官网和Vue的书籍 目录结构

谁说我不能喝 提交于 2021-01-03 07:47:11
Vue基础知识学习网站【中文】 https://cn.vuejs.org/v2/guide/ Vue路由知识学习网站【中文】 https://router.vuejs.org/zh/guide/ Vuex更为复杂的Vue知识学习网站【中文】 https://vuex.vuejs.org/zh/ Vue脚手架搭建和使用学习网站【中文】 https://cli.vuejs.org/zh/guide/ Vue自学可以参考的博客,博客中有demo https://www.cnblogs.com/keepfool/p/5657065.html https://www.xiuyuan.info/?p=115 https://www.cnblogs.com/keepfool/p/5619070.html https://www.cnblogs.com/wisewrong/p/6277262.html 第1章 Vue.js简介 1.1 Vue.js是什么 1 1.2 为什么要用Vue.js 2 1.3 Vue.js的Hello world 2 第2章 基础特性 2.1 实例及选项 5 2.1.1 模板 6 2.1.2 数据 7 2.1.3 方法 9 2.1.4 生命周期 10 2.2 数据绑定 12 2.2.1 数据绑定语法 13 2.2.2 计算属性 17 2.2.3 表单控件 18 2.2.4

Android uni-app 封装原生插件

我们两清 提交于 2020-12-20 23:03:06
前言 据广大用户的需求,需要把我们anyRTC的SDK,封装到uni-app来使用,并且实现音视频通话。这边文章图文讲解一下怎么封装原生插件,并且在下一章uni-app实现音视频通话。 anyRTC开发者中心 1.uni-app是什么? 一个使用Vue.js开发所有前端应用框架,开发者编写一套代码,可发布到ios、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。 如果你还没有了解uni-app是什么: 点击这里:这篇文章举例说明。 2.uni-app的特点 1、跨平台更多 真正做到“一套代码、多端发行”! 条件编译:优雅的在一个项目里调用不同平台的特色功能! 2、运行体验好 组件、api与微信小程序一致 兼容weex原生渲染 3、通过技术栈,学习成本低 vue的语法、微信小程序的api 内嵌mpvue 4、开放生态,组件更丰富 5、支持通过npm安装第三方包 6、支持微信小程序自定义组件及SDK 7、兼容mpvue组件及项目 8、App端支持和原生混合编码 9、DCloud将发布插件市场 3.uni-app封装原生插件 3.1 Android离线SDK下载: 点击下载 ,两个SDK均可。 下载完成,解压备用: 3.2 新建Android项目 打开Android Studio,建立一个No Activity项目。在菜单栏选择 File>New