weex

图书推荐|||《大前端入门指南》

落花浮王杯 提交于 2020-07-23 18:58:42
内容简介 · · · · · · 《大前端入门指南》是一本大前端入门书籍,对大前端技术栈进行了全面的讲解,内容涉及HTML/CSS、JavaScript、React Native、Flutter和微信小程序等。在内容组织上,采用理论和项目实战相结合的方式,来帮助读者更好地入门大前端。 《大前端入门指南》讲解了大前端方向中多个主流的技术栈,针对每个技术栈,本书选取入门必需的内容进行详细讲解。同时,书中还提供了三个难度适中的实战项目,非常适合开发者学习和入门。 作者简介 · · · · · · 任玉刚 微信公众号「玉刚说」作者,《Android开发艺术探索》作者,专家工程师,曾就职于腾讯、百度等一线大厂,热爱大前端技术。 目录 · · · · · · 第1章 大前端概述 1 1.1 什么是大前端 1 1.2 主流跨平台方案简介 2 第2章 HTML和CSS入门 6 2.1 HTML基础 6 2.1.1 HTML简介 6 2.1.2 基本结构 6 2.1.3 常用标签 8 2.1.4 图片 12 2.1.5 列表 14 2.1.6 超链接 18 2.1.7 表格 23 2.1.8 表单 25 2.2 CSS基础 31 2.2.1 选择器 31 2.2.2 常用属性 40 2.2.3 盒模型 50 2.2.4 定位 59 2.2.5 浮动 69 2.2.6 FlexBox布局 77 第3章

Android常用面试题和常见问题!

不想你离开。 提交于 2020-05-09 06:31:26
(一)Android基础知识点 四大组件是什么 四大组件的生命周期和简单用法 Activity之间的通信方式 Activity各种情况下的生命周期 横竖屏切换的时候,Activity 各种情况下的生命周期 Activity与Fragment之间生命周期比较 Activity上有Dialog的时候按Home键时的生命周期 两个Activity 之间跳转时必然会执行的是哪几个方法? 前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。 Activity的四种启动模式对比 Activity状态保存于恢复 fragment各种情况下的生命周期 Fragment状态保存startActivityForResult是哪个类的方法,在什么情况下使用? 如何实现Fragment的滑动? fragment之间传递数据的方式? Activity 怎么和Service 绑定? 怎么在Activity 中启动自己对应的Service? service和activity怎么进行数据交互? Service的开启方式 请描述一下Service 的生命周期 谈谈你对ContentProvider的理解 说说ContentProvider、ContentResolver、ContentObserver 之间的关系

【必看】飞猪 Serverless 技术体系全年建设

喜你入骨 提交于 2020-05-02 16:03:39
历史的发展 12~13 年,飞猪核心业务主要基于 PC 平台,前后端研发协作核心痛点在于动态模板的编写,不同团队前后端常围绕 “套模板” 工作的归属引发矛盾。 到 14、15 年 All in 无线的过程中,为了解决从 PC 时代复杂行业数据到无线网关的快速转换,飞猪成立了无线服务端团队来完成数据到端侧的胶水层工作,可很好解决系列问题,但是持续重复的包接口也让无线服务端面临的成长和沉淀问题,不太可持续的。 16、17 年无线服务端技术建设稳定后,也由于上述问题,接口封装的工作逐步由下放到行业后端同学,随着 H5/Weex/iOS/Android 多端发展,各自对接口的诉求难以一致,出现通过 Node BFF 层来承接胶水问题,但前端运维能力不强、长尾机器的浪费导致很难全量 BFF 化。 到 18 年飞猪平台化改造完成,业务由纵向行业变成横向平台承接,需求的落地需要经过多方的协作和排期,中间层的碎片化也更加严重,对前后端协作成本带来了更大的挑战,同时不能通过单领域问题的解决方案(如下单页解决方案)来解决其他业务层问题, 急需一轻量通用的方案来解决日益严重的胶水层的协作 。 建设目标 基于以上背景与问题分析,飞猪去年5月份启动了 「天空之城」- Serverless 技术体系建设专项,项目总体目标: 构建飞猪 Serverless 研发基础设施,赋能上层产品/平台,推动前端/后端、业务

深入vue

限于喜欢 提交于 2020-05-02 05:05:56
公众号原文链接: 深入vue - 源码目录及构建过程分析 喜欢本文可以扫描下方二维码关注我的公众号 「前端小苑」 ​“ 本文主要梳理一下vue代码的目录,以及vue代码构建流程,旨在对vue源码整体有一个认知,有助于后续对源码的阅读。 ” 一、目录结构 上图是对vue的代码的所有目录进行的梳理,其中源码位于src目录下,下面对src下的目录进行介绍。 compiler 该目录是编译相关的代码,即将 template 模板转化成 render 函数的代码。 vue 提供了 render 函数,render 函数作用是用来创建 VNode,但在平时开发中,绝大多数情况下使用 template 来创建 HTML,所以需要将 template模板编译成 render 函数。 编译工作既可以在代码构建时做,也可以在客户端运行时做,但编译十分消耗性能,所以在项目中建议使用 runtime 版本。 core 这部分代码是 vue 的核心代码,可以说是 vue 的灵魂所在,也是我们要重点学习的源码。 core目录又包含如下子目录。 components -- 内置组件的代码,即 keep-alive 代码 global-api -- 全局API代码,mixin,extend 等 api 在这里实现 instance -- vue实例化相关代码,包括初始化,事件,生命周期,渲染等部分的代码

Vue源码分析(一) : new Vue() 做了什么

大憨熊 提交于 2020-05-02 05:05:39
Vue源码分析(一) : new Vue() 做了什么<br> author: @TiffanysBear 在了解new Vue做了什么之前,我们先对Vue源码做一些基础的了解,如果你已经对基础的源码目录设计等有基础的了解的话,可以跳过下面这部分。 源码目录设计 Vue.js 的源码都在 src 目录下,其目录结构如下。 src ├── compiler # 编译相关 ├── core # 核心代码 ├── platforms # 不同平台的支持 ├── server # 服务端渲染 ├── sfc # .vue 文件解析 ├── shared # 共享代码 compiler compiler 目录包含 Vue.js 所有编译相关的代码。它包括把模板解析成 AST 语法树,AST语法树优化,代码生成等功能。 编译的工作可以在构建时做(可以借助 webpack、vue-loader 等插件);也可以在运行时做,使用包含构建功能的 Vue.js。编译是一项耗性能的工作,所以更推荐前者——离线编译。 core core 目录包含了 Vue.js 的核心代码,包括有内置组件、全局 API 封装,Vue 实例化、Obsever、Virtual DOM、工具函数 Util 等等。 platform Vue.js 是一个跨平台的 MVVM 框架,它可以跑在 web 上,也可以配合 weex 跑在

app跨平台开发框架以及技术选型如何选择?

孤人 提交于 2020-04-29 15:11:06
作者:刘望舒 链接:https://www.zhihu.com/question/55714900/answer/665044650 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. 跨平台技术的诞生 我是2010年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在“摸着河底过河”,项目更没有第三方框架一说,大都是自己写的,不像现在各种的框架满天飞。随着移动开发的发展,互联网公司也是层出不穷,有些公司迫于竞争,想要更迅速的更省成本的进行开发,就不再满足Android端一套代码,iOS端一套代码。与此同时,其他技术领域和各大公司也都觊觎着这份大蛋糕,纷纷推出相关的技术,这样跨平台技术应运而生,并且开始在公司中生根发芽。 Android和iOS生态太大了,我们可以把它们比作第一级生态,想要颠覆这两个系统的曾经出现过,但都失败了,因此建立次级生态是最稳妥的策略,Android平台更加开放,因此次级生态的中心就是Android,次生态的形式多种多样,比如在Android系统的基础上魔改建立自己的生态,再或者推出各种跨平台技术建立生态。跨平台技术产生的框架实在太多了,很多还没等我们去学去了解,它们就没落了,成为了跨平台技术的发展的一个过度产物。跨平台技术的产物是不靠谱还是趋势,我想读完本篇文章你会有自己的理解。

flutter、rn、uni-app比较

半城伤御伤魂 提交于 2020-04-28 08:08:52
前言 每当我们评估新技术时要问的第一个问题就是“它会给我们的业务和客户带来哪些价值?”,工程师们很容易对闪闪发光的新事物着迷,却经常会忽略这些新事物其实可能对我们的客户没有任何好处,反而只会让现有的工作流程更加复杂。 flutter最近比较热闹,毕竟是Google出品。 但我们不是炒作热点的媒体,也不是忽悠你交学费的培训机构,我们作为实际的跨平台开发者,冷静的分析下这个东东。 flutter是Google为Fuchsia操作系统设计的应用开发方式。 Fuchsia OS要兼容廉价物联网设备,要求对硬件的消耗降低,并且为了避免与oracle的java打官司,Fuchsia 使用了dart语言+flutter界面库的方式。 从设计上来看,这套方案的性能确实够高。dart虽然属于大前端范畴,但dart是和java一样的强类型语言,这让dart虚拟机可以做很多优化,性能方面超出了js。 dart曾经与typescript竞争,谁才是更好的js?但不幸输给了typescript,chrome也放弃了内置dart虚拟机的计划。 不过dart团队没有解散,几年后,他们借助flutter,再次出现在公众面前。 性能分析和写法的对比 flutter作为界面库(注意它只是界面库,dart语言是另一个项目),它唯一要干的事情就是渲染界面。不像HTML5,flutter界面库连视频、定位等都没有

iOS钉钉远程打卡助手(支持越狱和非越狱)

久未见 提交于 2020-04-27 18:04:09
前言:本文主要讲述使用hook方式实现钉钉远程打卡功能,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的 Github 地址参考安装(包含越狱和非越狱两种方法)   你是不是像小编一样每个月靠着固定薪水维持家庭开支,而且还要经过层层“剥离”...... 一旦迟到扣工资是小事,是不是全勤奖升职加薪的机会就泡汤了?是不是每天早上都想懒会床(嗯...让我再睡会...),不想上班...本文就讲述如何拥有一个“免死金牌” 😆   目前越来越多的企业考勤都从传统都指纹打卡转移到了使用钉钉或者企业微信这类的APP进行考勤,主要是定位和Wi-Fi考勤两种方式。APP考勤这块企业使用钉钉的比较多(我瞎蒙的😄),因为钉钉主要是面向企业服务的而不是员工(替我们心疼几秒...😫),所以本文先解决钉钉的群众问题,企业微信将安排在下一期。 项目完整代码,已托管到 Github 。如果喜欢,欢迎Star #思路 hook一个APP最难的不是代码,往往是分析出合适的切入点。 想要实现hook定位打卡,最简单最直接的就是直接hook APP的定位功能,这也就是要实现虚拟定位。 想要实现Wi-Fi打卡,就必须要hook APP的Wi-Fi获取方法,那么就需要找到获取Wi-Fi的方法。   那么也就是说我们需要实现虚拟定位和hook Wi-Fi获取的方法?如果这么做就相对比较麻烦了

细化 Flutter List 内存回收,解决大 Cell 问题

微笑、不失礼 提交于 2020-04-14 18:25:22
【推荐阅读】微服务还能火多久?>>> 作者|王乾元(神漠) 出品|阿里巴巴新零售淘系技术部 前言 何谓大 Cell 问题?在基于 Native List 的渲染方案中,都会遇到大 Cell 问题。比如 Weex 业务中,经常出现页面内存飙高,排查后发现多为前端写法导致的一个大 Cell 中存在过多图片,导致内存过高。 在 Flutter 里同样有这个问题,本质原因都是因为 List 进行回收的单位是 Cell,而不是 Cell 中的图片。在浏览器体系下,不存在这个问题,想必是浏览器进行了额外的运算,可以正确回收出屏的图片。 在开发 Flutter 版本淘宝商品详情页面时,我们同样遇到了大 Cell 的问题。一个商品的详情由多张图片拼接而成,这些图片尺寸未知,需要进行高度自适应,图片被放在同一个 Cell 中。发现列表滚动到特定位置,大量图片同时加载并生成纹理,内存突然飙高。 该问 来源: oschina 链接: https://my.oschina.net/u/4330619/blog/3234729

React Native 0.62 发布,添加暗黑模式支持

柔情痞子 提交于 2020-04-10 07:50:22
前言 一直以来,在不同平台开发和维护同一款产品,所付出的成本和代价都是一个令人头疼的问题,于是各类跨平台开发方案顺应而生。从Web容器方案到以React Native、Weex为代表的泛Web容器方案,最后再到以Flutter为代表的自绘引擎方案,这些优秀的跨平台开发框架们慢慢抹平了各个平台的差异,使得操作系统的边界变得越来越模糊。 最近一年来,随着Google对Flutter推广力度的加大,老牌的跨平台技术,如React Native、Weex开始走下坡路,不过还是有很多的公司仍然在使用它,加上FaceBook也并没有放弃对React Native的更新,最近FaceBook更新了React Native的0.62版本,带来了Flipper调试工具和新的暗黑模式支持。 React Native 是基于目前大热的开源JavaScript库React.js来开发iOS和Android原生App,已经有多个应用使用它来进行跨平台手机应用开发。React Native的原理是在JavaScript中用React抽象操作系统原生的UI组件,代替DOM元素来渲染,比如以 <View> 取代 <div> ,以 <Image> 替代 <img> 等。 在实现原理方面,React Native在主线程之外,在另一个背景线程里运行JavaScript引擎