本文版权归作者AWeiLoveAndroid所有,未经授权,严禁私自转载。转载请声明原文链接和作者信息。
“得移动端者得天下”,移动端取代PC端,成为了互联网行业最大的流量分发入口,因此不少公司制定了“移动优先”的发展策略。
做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下:
做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下: 如有错误,欢迎指正。 (一)适合WebApp的一些框架 1、Cordova 优点: 开源免费,社区生态成熟,插件丰富 支持离线场景应用 开发工具选择空间大 缺点: 只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配 2、Ionic 优点: 国外的一款接近原生的Html5移动App开发框架,免费开源。 漂亮的界面,追求性能,专注原生,免费开源 Angular JS MVVM 开发理念,数据双向绑定 基于Cordova,可以使用 Cordova 的插件 缺点: 需要掌握 HTML + CSS + Angular JS ,学习路线陡峭 Ionic 框架相比于原生的 Cordova 有所差异,Cordova 某些官方插件可能不适用于Ionic 3、Dcloud 优点: 国内厂商,中文文档 对HTML5的性能、工具、能力都做了深入扩展,提供 IDE 、云服务等帮助节省时间 MUI 更贴近国内App使用习惯,提供模块的详细例子,如登录,个人中心 缺点: 部分操作需要具备原生开发经验,如离线打包App 新产品仍然有bug,还需改进 4、小程序 2016年9月21日,微信小程序正式开启内测。2017年1月9日0点,微信第一批小程序正式低调上线。 微信小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 优点: 1.即用即走——这个是从微信小程序上线就开始打的概念。即用即走使得小程序可以代替许多APP,或是做APP的整体嫁接,或是作为阉割版功能的承载体。 2.倚靠微信流量——相比APP,小程序一个突出的优点是完全嵌入了微信的聊天、公众号体系,完美进行微信体系内的流量引导。这一方面令小程序更加容易获客,另一方面也可以借助微信的成熟社交网络达到爆发式传播。 3.连接线上线下——连接线上线下场景也是微信小程序重要的一环,甚至最先开始为了推动线下习惯的养成,小程序在线上场景方面做了较强的限制。由于人们用微信扫描二维码的习惯培养得比较好,小程序相比APP更容易达成线上线下场景的连接与互动。 缺点: 1.留存——虽然有部分小程序已经杀出重围,但是普遍来讲,主打“即用即走”的小程序在用户留存上仍存在很大的提升空间。阿拉丁发布的小程序白皮书中显示,小程序的平均次日留存在13%左右,但是双周留存骤降到仅有1%。轻易拥有的也不在意失去,这大概是小程序目前的一个症结所在。 2.受控于微信——比起APP,尤其是安卓版的高自由度,小程序要面对很多来自微信的限制,从功能接口,甚至到类别内容,都要接受微信的管控,部分敏感内容还很容易遭受封禁威胁。 部分参考链接:https://www.zhihu.com/question/263816362/answer/274417734 5、PWA PWA(Progressive Web App)是 Google 于 2016 年提出的概念,2017 年已被迅速采用。 PWA全称Progressive Web App,即渐进式Web应用。 一个PWA应用首先是一个网页, 可以通过Web技术编写出一个网页应用. 随后添加上App Manifest和Service Worker来实现PWA的安装和离线等功能。 解决了哪些问题? 可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏 实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能 实现了消息推送 它解决了上述提到的问题,这些特性将使得 Web 应用渐进式接近原生 App。 关于PWA更多详情介绍可以看以下博客介绍: https://segmentfault.com/a/1190000012353473 PWA的优势 可以将app的快捷方式放置到桌面上,全屏运行,与原生app无异 能够在各种网络环境下使用,包括网络差和断网条件下,不会显示undefind 推送消息的能力 其本质是一个网页,没有原生app的各种启动条件,快速响应用户指令 PWA存在的问题 支持率不高:现在ios手机端不支持pwa,IE也暂时不支持 Chrome在中国桌面版占有率还是不错的,安卓移动端上的占有率却很低 各大厂商还未明确支持pwa 依赖的GCM服务在国内无法使用 微信小程序的竞争 PWA写的app 比如这个:https://dd.shmy.tech/client (请使用谷歌浏览器打开) 6、Instant App 2016年的Google大会上,Google发布了有关Instant App的最新技术。千呼万唤之下,号称“Googl
序言:本文主要介绍了使用 Ionic 和 Cordova 开发混合应用时如何添加用户身份认证。教程简易,对于 Ionic 入门学习有一定帮助。因为文章是去年发表,所以教程内关于 Okta 的一些使用步骤不太准确,但是通过 Okta 的官网也可以找到对应的内容。另外,使用 npm 安装 Ionic starter 模板可能会有安装失败的情况,建议不要在这方面浪费太多时间,可以直接在 Ionic 的 GitHub 仓库 中下载 starter 模板。 原文:How to Sprinkle ReactJS i
使用 Okta 和 OpenID Connect (OIDC),可以很轻松的在 Ionic 应用中添加身份认证,完全不需要自己实现。 OIDC 允许你直接使用 Okta Platform API 进行认证,本文的目的就是告诉你如何在一个 Ionic 应用中使用这些 API。我将演示如何使用 OIDC 重定向、Okta 的 Auth SDK 以及基于 Cordova 内嵌浏览器的 OAuth 进行登录; 由于功能还在开发中,所以省略了用户注册。
PWA是Progressive Web App的英文缩写,是渐进式增强WEB应用, 是Google新开发的web技术。目的就是在移动端利用提供的标准化框架,在网页应用中实现和Native app原生应用相近的用户体验的渐进式网页应用。它的安全,性能,用户体验的确明显领先于其他互联网载体,各大前端厂商争先恐后进行涉足,布局。
前言 我所说的传统的方式是指,用 Java 或者 Kotlin 写安卓,用 Object-C 或者 Swift 写 IOS。 回想我 2014 年上大学的时候,老师跟我们说最近两年移动端特别的火,出去特别好找工作,万万没想到,到了 2016 年,我所在的实验室的学长去找安卓的工作就已经很难了。 现在都 2018 年了,作为一个本科生找安卓或者 IOS 就更难了,虽然移动市场不会消失,但是用户或者开发者来说,原生移动应用都有天生的痛点。 对于用户来说,原生应用在使用之前需要花大量的流量去下载,而且还暂用大量
本文主要对WEEX、React Native、Flutter和PWA几大热门跨平台方案进行简单的介绍和对比。内容选自《WEEX跨平台开发实战》 (WEEX项目负责人力荐,从入门到实战,教你玩转移动前端跨平台开发!)
在成为继苹果后全球第二家市值超过 2 万亿美元的公司后,北京时间昨日晚间,Windows 11 重磅发布。
作者丨Kevin Basset 译者丨明知山 策划丨褚杏娟 PWA (Progressive Web App)的想法不是由 Google 或 Apple 提出的,而是 Steve Jobs 在 2007 年 iPhone 推出期间首次将这一概念展示在了世界面前。当时,外部应用程序似乎可以帮助提高该设备的受欢迎程度,Jobs 希望开发人员使用标准 Web 技术来构建应用程序。 你可以编写令人惊叹的 Web 2.0 和 Ajax 应用程序,它们的外观和行为与 iPhone 上的应用程序一模一样,而且这些
前言: 近期,各种安全事件层出不穷,难以平抚内心浮躁的人们,不妨静下心来品读这篇文章,一位外国朋友对“iOS vs Android”综合的分析。难得一见的对两大移动领域的操作系统的科普文。 正文: 众所周知,谷歌的Android和苹果的iOS都是移动技术领域两大主要操作系统,常被用于智能手机和平板电脑。与iOS相比,基于Linux的且部分开源的Android系统更像是专为PC打造的。它的界面和基本功能完全可以从上到下进行定制的,但是iOS却不同,其一体化的设计元素有时被认为更具用户友好性。 首先想给读者的
如果您是Web开发人员,您可能已经了解渐进式Web应用程序(PWA)或已经实现了自己的应用程序。 如果您不熟悉,本文将深入概述渐进式Web应用程序的实现原理,以及它们在现代Web开发中的重要程度。
自诞生以来,渐进式 Web 应用( PWA )已经取得了可观的成就。PWA 的加载速度比其他应用更快,并且它们的体积也不大。你知道优步的 PWA 在 2G 网络上只需 3 秒钟即可加载完毕吗?下面是其他一些例子,显示了 PWA 的强大能力:
我是2010年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在“摸着河底过河”,项目更没有第三方框架一说,大都是自己写的,不像现在各种的框架满天飞。随着移动开发的发展,互联网公司也是层出不穷,有些公司迫于竞争,想要更迅速的更省成本的进行开发,就不再满足Android端一套代码,iOS端一套代码。与此同时,其他技术领域和各大公司也都觊觎着这份大蛋糕,纷纷推出相关的技术,这样跨平台技术应运而生,并且开始在公司中生根发芽。 Android和iOS生态太大了,我们可以把它们比作第一级生态,想要颠覆这两个系统的曾经出现过,但都失败了,因此建立次级生态是最稳妥的策略,Android平台更加开放,因此次级生态的中心就是Android,次生态的形式多种多样,比如在Android系统的基础上魔改建立自己的生态,再或者推出各种跨平台技术建立生态。跨平台技术产生的框架实在太多了,很多还没等我们去学去了解,它们就没落了,成为了跨平台技术的发展的一个过度产物。跨平台技术的产物是不靠谱还是趋势,我想读完本篇文章你会有自己的理解。 跨平台技术的分类没有标准的答案,这里把它们分类为5种,分别Web App、Hybrid App、语言编译转换、原生渲染、自绘UI。下面分别介绍它们。
随着 Web 技术和移动设备的飞速发展,各种 APP 层出不穷,极速的业务扩展提高了团队对开发效率的要求,这个时候使用 IOS/Andriod 开发一个 APP 似乎成本有点过高了,而 H5 的低成本、高效率、跨平台等特性马上被利用起来形成了一种新的开发模式:Hybrid APP。
本文首发于掘金,各位可以通过点击文章下方的阅读原来来访问原文地址。本文略有修改。 📷 无论是在桌面端还是在移动端 ,Web 都处于高速发展中。每个人都能轻松地构建快速且身临其境的页面。同时,开发者工具也越来越强大、越来越多样。 Google I/O 2018, chrome 团队 leader Ben Galbraith 和 amp 项目 leader Martha 携手从 Google 的角度描绘了 Web 世界的现状。 Service Worker 📷 Service Work
自动化测试在产品测试上有着非常重要的作用。实现测试自动化有多种积极的方式,包括最大限度地减少测试执行时间;在关键的发布阶段,用更少的时间确保更大的覆盖范围;在产品开发阶段,可靠又重复性地运行以确保没有
构建 PWA 背后的核心思想是为所有设备上的普通 Web 应用程序提供最佳用户体验。当我们通过浏览器访问 Web 应用程序时,整体体验永远赶不上原生应用程序提供的体验。因此,在可用的开放网络技术的帮助下,PWA 为使用最新版本浏览器的用户提供了增强的网络体验,与 Android、iOS 或 Windows 等依赖于操作系统的应用程序相当。
第一种方式,有两种实现方法,一是使用在线的接口(如谷歌、微软……但前者被墙,后者付费使用,当然也可以自己部署个接口处理转换,不想特别折腾也可以用微软的office web apps),二是使用第三方的库,在客户端处理好再显示,但据我个别试用,效果不是很完美。
PC和Mobile开发技术演进 PC方向,从客户端到富客户端,到现在广泛使用的Web。 移动方向,目前主要还是原生应用和Mobile Web,PWA相关技术是未来发展方向。 PWA的概念 Progressive Web App (中文翻译为:渐进式Web应用)带来的体验将网络应用的优点与原生应用的优点相结合。用户在浏览器中第一次访问时就能体会到它们的好处,因为不需要进行任何安装。在用户随着时间的推移增进与应用的关系后,其功能会变得越来越强大。它即使在不可靠网络上也能快速加载、能够发送相关推送通知、具
背景 在正式进入分享之前,简单介绍一下做这个小程序新框架的背景思路,主要目的有以下几点: 新框架和微信的主客户端解耦,能够独立运行,并且可以同时支持小程序和小游戏。 新框架能去拥抱更多的Web特性,深入到Chromium内核中,去支持更多平台。 还有一个目的就是,通过新框架去拓宽小程序生态的边界,能够在许多非移动端设备,提供微信小程序生态。 ---- 1 小程序和PWA 首先来了解一下小程序和PWA,可以说小程序设计之初,还是吸收了很多Web特性,这也使得小程序和PWA应用的用户体验很接近,包括技术
大家好,又见面了,我是你们的朋友全栈君。 几种APP开发模式 概述 当前的APP开发模式注意有以下四大类型: Native App 即传统的原生APP开发模式,Android基于Java语言,底层调用Google的 API;iOS基于OC或者Swift语言,底层调用App官方提供的API。体验最后。 Web App 即移动端的网站,将页面部署在服务器上,然后用户使用各大浏览器访问。一般泛指 SPA(Single Page Application)模式开发出的网站。体验最差。 Hybrid App 即
海豚精灵:https://www.whhtjl.com;优课GO:https://mgo.whhtjl.com
智能手机的普及为移动应用的变革和创新提供了良好的环境,由于这些创新改变了我们一直以来的工作和生活方式。多年来,随着移动应用程序的不断发展,每年都会为我们带来一些新的趋势和变化。
编译|褚杏娟 核子可乐 有一种普遍性认知:只要可以,大型平台厂商一定希望每个人都只为他们自己的平台编写专有应用程序。但现在的厂商们还做不到这一点,所以 Web 就天然获得了市场优势。可人们心里的天秤总在摇来晃去,在 Web 和本机之间游移不定。 回顾历史,苹果、谷歌等都为 Web 的发展努力过,但为什么他们后来都放弃了 Web 应用,转而走向本机应用了呢? 近日, CodePen 联合创始人、网页开发者 Chris Coyier 写了一篇关于不同平台的“本机应用程序”和“Web”之间总是剑拔弩张、相互竞
上个周六,我有幸去「 饿了么 」总部参加了一场大前端技术交流会,感受还是有点的,本应该当天晚上就提笔写下这篇文章,无奈周五晚上写完上一篇文章直到凌晨两点才睡觉,第二天又早起奔波了一个小时去参加了一整天的交流会,晚上回来的时候已经疲惫不堪,而周日又在自己捣鼓移动端 web 适配的问题,于是拖到了今天。
最近 .NET 6 Preview 1 发布了,.NET 统一是此版本的核心。大家可以读一下原文博客:
Capability又叫Appium Desired Capabilities,前边写了那么多实例代码,小伙伴可以发现一些规律,就是有一部分代码总是重复的出现在你的视线中。这部分就是对Capability的配置。那么今天给小伙伴们分享、介绍和讲解一下Capability。让你知道她的来龙去脉,知道为什么代码里那么写。
更多功能广大网友可以继续挖掘。 AppInfoScanner 一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。 GitHub数据 1.6k stars 31 watching 259 forks 开源地址:https://github.com/kelvinBen
PC和Mobile开发技术演进 PC方向,从客户端到富客户端,到现在广泛使用的Web。 移动方向,目前主要还是原生应用和Mobile Web,PWA相关技术是未来发展方向。 PWA的概念 Progressive Web App (中文翻译为:渐进式Web应用)带来的体验将网络应用的优点与原生应用的优点相结合。用户在浏览器中第一次访问时就能体会到它们的好处,因为不需要进行任何安装。在用户随着时间的推移增进与应用的关系后,其功能会变得越来越强大。它即使在不可靠网络上也能快速加载、能够发送相关推送通知
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。
WebRTC面临的最大挑战之一是跨平台提供一致、可靠的支持。对于大多数应用程序,尤其是那些在网络上启动的应用程序,这通常意味着除了支持网络应用程序之外,还需要开发原生或混合移动应用程序。渐进式网络应用程序(PWA)是一种新概念,它能够通过允许基于网络的应用程序在不引入中间混合框架的情况下,看起来并像本地移动应用那样运作,从而将实现应用程序在网络上统一。正如将要讨论的那样,这种方法优点颇多,但它对WebRTC应用程序确实是有意义的吗?
编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了下 Luajit 库的编译经验,供以后查阅。网上的讨论也是有一些,但是相当一部分都已经过时。或许等你看到这篇文章的时候,可能也只是能获得一些可能的经验来解决自己的编译问题。所以说,了解一些基本的编译知识,能勉强看懂 Luajit 的 make 文件,还是很有必要的。本篇是关于 Luajit 静态库的,如果你想找的是如何编译适用于移动端的 Luajit 字节码,可以直接看 【最新】LuaJIT 32/64 位字节码,从编译到使用全纪录。
渐进式Web应用(Progressive Web Applications,简称 PWAs)是迄今为止在Web开发中最令人兴奋的创新技术之一。PWA 使你可以用 JavaScript 来创建一个“Service Worker”,它为你提供与原生应用相关联的各种功能,例如推送通知,离线支持和应用的加载屏幕 —— 这一切可都是基于Web的!这真是极好的。
Native、Web App、Hybrid、React Native(后面以RN简称)、Weex 间的异同点,后期同步 小程序 和 PWA。
Web前端的同学是否想过学习app开发,以弥补自己移动端能力的不足?但在面对一众的选择时很多同学略感迷茫,是学习ios还是android开发?是学习原生开发、混合开发(比如:Ionic),还是使用react native或者flutter这样的跨平台框架?而app开发的学习周期长、学习成本高也让一部分人望而却步。得益于前端技术的飞速发展、浏览器性能的不断提高,使用网页技术开发出接近原生体验的应用得以变为现实,PWA就在这样的背景下应运而生。可以用自己熟悉的HTML、CSS、Javascript开发出媲美原生app的网站,不仅拥有接近原生app的流畅程度,并且具备一些原生app才有的特性,比如:a. 可以在主屏上安装应用图标,b. 离线状态下访问,c. 获取消息通知,等等。。PWA的出现让大家看到了希望!
service worker 介绍:https://segmentfault.com/a/1190000016028780
如果您的目的不是为现有的 vue 项目添加 PWA 支持,那么更推荐尝试 Lavas
上个星期分享了《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋。而同样基于图像识别框架的Airtest,则无疑强大了许多,本次分享的内容是基于Airtest实现Windows应用的自动化测试,内容大纲:
【说明】:MongoDB也可以在iOS上面使用,我是做安卓开发的,本文只讲解MongoDB在Android上面的使用,iOS的使用情况请上MongoDB官网自行查阅。
前言 PWA(Progressive Web App),中文称为“渐进式网络应用程序”,利用一系列现代的 Web 技术来增强 Web App 的功能,从而实现应用程序一样的用户体验。事实上,任何的网站都可以做成 PWA。从这个概念上来说,PWA 实际上是一种理念。根据这种理念可以创造出各式各样的东西,比如说微信小程序、百度小程序、支付宝小程序等等(😂 虽然它们都不承认自己是和 PWA 一脉相承的)。 为何有 PWA 随着网络和智能设备的飞速发展及提升,越来越多的原生应用程序占据了智能设备的空间和资
在上一篇APP自动化系列文章:APP自动化测试系列之Appium介绍及运行原理,主要介绍appium的运行原理。
一个新的前端技术,PWA( 全称:Progressive Web App )也就是说这是个渐进式的网页应用程序。
首先 ionic start,问是否集成 Cordova,选择 N,至此创建了一个 Ionic 项目,然后 cd 到该工程目录下。
install 事件回调中有两个方法: * event.waitUntil():传入一个 Promise 为参数,等到该 Promise 为 resolve 状态为止。 * self.skipWaiting():self 是当前 context 的 global 变量,执行该方法表示强制当前处在 waiting 状态的 Service Worker 进入 activate 状态。 * 安装后( installed ):Service Worker 已经完成了安装,并且等待其他的 Service Worker 线程被关闭。 * 激活( activating ):在这个状态下没有被其他的 Service Worker 控制的客户端,允许当前的 worker 完成安装,并且清除了其他的 worker 以及关联缓存的旧缓存资源,等待新的 Service Worker 线程被激活。
多年来,跨平台移动开发已经获得了最流行软件开发趋势之一的声誉。这并不令人意外,因为采用跨平台开发技术使得软件工程师使用同一代码就能为不同平台构建应用程序,从而节省时间、金钱以及不必要的工作。
领取专属 10元无门槛券
手把手带您无忧上云