原文:2019-11-25-如何在国内发布-UWP-应用

title author date CreateTime categories
如何在国内发布 UWP 应用
lindexi
2019-11-25 15:46:42 +0800
2019-02-17 10:51:58 +0800
UWP

在国内的开发者,相信都遇到这样的情况,辛苦开发了几个月的应用,发布到应用商店,发现只有几个下载。不断推广却发现有用户评论垃圾应用下载不了。
在国内开发 UWP 最大的问题就是用户很难通过应用商店下载应用,开发出来的应用无法让用户使用。

我通过了很久的时间,请教了邵猛和老周 等大佬,再国外几个小伙伴的指导下,找到了一条路径,通过私有部署的形式发布。

通过私有部署就和通过旁加载的形式差不多,不经过应用商店发布自己的应用,这样能够完全自己控制应用的发布和更新,不需要经过应用商店的审核。额外的,除非微软能做到和苹果一样的对设备的控制和用户量,否则玩应用商店就是让应用商店挂。对于大部分商业团队,如果自己发布的应用被下架超过一天就是一个事故,而微软有着极低的效率同时也有说不清楚原因的下架,就能够让大多数的商业团队放弃走应用商店,包括我现在的团队在内。难以想象被下架一天带来的损失。

但是私有部署最大问题是安装条件相对严格,如果自己的团队能够卖给最终用户硬件设备,那么通过预装的方法能解决大量的问题。私有部署要求设备开启旁加载,同时开启自动更新,对魔改系统支持不好,需要加入证书

在自己的出货的设备上预装自己的 UWP 应用,预装的方法是通过私有部署发布的,通过自己搭建一个 Asp dotnet core 服务器,在服务器上通过给不同的用户不同的appinstaller文件,可以实现让不同的用户下载不同的版本

同时在国内依靠自己搭建的服务器和 CDN 服务器将应用程序包发给用户,本身的网络会比从应用商店下载快十分多。

如果是卖给学校的设备,通过在学校搭建一个内网服务器,可以通过 10M/s 的内网下载速度,基本在后台服务点击发布,只需要 10 分钟就可以将全校的设备的应用更新到最新。

在国内发布 UWP 的姿势是一边在应用商店上架应用,同时做好私有部署,通过私有部署可以控制应用自动更新,具体请看 win10 uwp 发布旁加载自动更新

最好是能联系到设备发布的公司,在他发布的设备上预装自己的应用,如联想和小米这些。如自己公司能够将硬件设备卖给用户是最好的。这样相当于控制了入口,解决了开始的用户安装的问题,这个问题是 UWP 最大的问题,如果都不能安装,那么即使软件做的再好有什么用

至于通过私有部署让用户自己去下载,除非是很熟悉电脑的用户,不然这条路不如让用户去应用商店下载。我在 7 个开发者(非桌面端开发者)的设备上用私有部署方法安装我的应用,仅有一个小伙伴能安装成功,其他的都因为环境问题无法安装

虽然我找到在国内发布 UWP 的一个方法,能解决应用商店下载问题和用户更新问题,但是还是没有方法说服产品经理使用 UWP 开发。

对于很多用户,根本就不关心使用的应用是通过什么技术写的,无论是通过 Electron 或 WPF 或 WinFroms 只要交互体验好,应用流畅,用户就觉得这个应用不错。此时在使用 UWP 是完全没有优势的,在国外有开发者告诉我,用户不会因为 UWP 使用流畅设计就选择 UWP 很多时候通过流畅设计的UI界面没有想象那么好看。甚至使用 UWP 还有很大的缺点就是应用商店的设计,在国内我询问过很多产品的开发者,能通过应用商店下载的用户很少,能成功从应用商店下载应用的用户就更少了。现在的用户大部分的习惯都是复制安装包的形式,没有一个产品能和手机的微信或支付宝一样培养用户的习惯,甚至在国内没有一个 PC 端的应用能在后PC时代带领产品。

另一个问题是 UWP 全平台在 PC 下不是全平台,如果我专注 PC 端的开发,那么我如何兼容 Windows7 的用户,在国内大概有一半以上的用户是使用 Windows7 系统,如果使用 UWP 开发,要么就放弃一半以上的潜在客户,要么就是同时开发 WPF(或其他的技术) 和 UWP 两个应用。但是只要 zz 的团队才会想着同时开两个计算做一个产品,如果我使用 WPF 开发,那么我能支持 Windows 7 和 Windows 10 没有理由需要 UWP 应用。

如果我是专注与跨平台开发,不好意思,现在的 UWP 哪有跨平台,我有充分的理由选择 Web 网页或 Xamarin 开发。

另外 UWP 对系统的耦合非常多,如升级了系统可以发现自己的应用打不开了,如我下方的百度应用,在更新系统从 1803 到 1809 的时候就无法使用

也许剩下的优势是信仰

但是微软的 zz 将手机端砍了,于是 UWP 几乎唯一的优势也就不存在了,这几天我询问了好多位大佬未来的 UWP 的方向是什么?欢迎各位大佬在博客下方评论

最近微软又在准备开发 WinUI 3.0 这个我看起来和玩具一样的不实用的技术

本文的方法只适合预装的方法,如果没有预装可以将 UWP 用 win32 的安装包不通过应用商店给用户,请看加强版在国内分发 UWP 应用正确方式 通过win32安装UWP应用

2019-11-25-如何在国内发布-UWP-应用的更多相关文章

  1. 2019-11-13-如何在国内发布-UWP-应用

    title author date CreateTime categories 如何在国内发布 UWP 应用 lindexi 2019-11-13 08:46:44 +0800 2019-02-17 ...

  2. 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09

    作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09     据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...

  3. Beta冲刺(4/7)——2019.5.25

    所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(4/7)--2019.5.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...

  4. [2019.03.25]Linux中的查找

    TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...

  5. Alpha冲刺(2/10)——2019.4.25

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(2/10)--2019.4.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...

  6. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  7. [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)

    更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...

  8. 2019.11.9 csp-s 考前模拟

    2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...

  9. [MP3]MP3固件持续分享(2019.1.25)

    转载自我的博客:https://blog.ljyngup.com/archives/179.html/ 所有的固件到我的博客就可以下载哦 最后更新于2019.2.1 前言 这篇文章会持续更新不同型号的 ...

随机推荐

  1. Z从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之十 || AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存

    本文梯子 本文3.0版本文章 代码已上传Github+Gitee,文末有地址 大神反馈: 零.今天完成的深红色部分 一.AOP 之 实现日志记录(服务层) 1.定义服务接口与实现类 2.在API层中添 ...

  2. Linux软件安装——服务管理

    Linux软件安装——服务管理 摘要:本文主要学习了Linux中有关服务管理的知识. 什么是服务 服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独 ...

  3. new一个对象的初始化过程

    ############################### 今天总结一下,new对象的初始化过程. ############################### 首先,当不含static成员时, ...

  4. elasticsearch window下配置安装

    1.首先下载elasticsearch 下载链接:https://www.elastic.co/cn/downloads/elasticsearch 第一张图是下载的,第二章图是下载msi的程序,直接 ...

  5. LeetCode题解002:两数相加

    两数相加 题目 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字 如果,我们将这两个数相加起来,则会返回一个新的链表 ...

  6. 自定义Vue组件打包、发布到npm以及使用

    本文将帮助:将自己写的Vue组件打包到npm进行代码托管,以及正常发布之后如何使用自己的组件. 本文讲述的仅仅是最基础的实现,其他复杂的操作需要非常熟悉webpack的相关知识,作者将继续学习. 先附 ...

  7. 区块链社交APP协议分析预告

    2017年,比特币的火热,直接导致了代币市场的繁荣: 2018年,作为信用体系的未来解决方案,区块链引发了互联网原住民的淘金热. 作为风口上的引流神器,区块链技术与社交网络结合起来,产生了一系列区块链 ...

  8. zabbix入门

    第一章 监控知识基本概述 1.1 为什么要使用监控 1.对系统不间断实时监控2.实时反馈系统当前状态3.保证服务可靠性安全性4.保证业务持续稳定运行 1.2 如何进行监控,比如我们需要监控磁盘的使用率 ...

  9. 泛型T

    作用: 使用泛型类型可以最大限度地重用代码.保护类型的安全以及提高性能. 泛型最常见的用途是创建集合类 1.性能:如List<object> 与 List<T> 将一个 int ...

  10. Python3面向对象编程实例

    /*认真研究完这个实例,理解python面向对象编程的方法*/class Person: """人员信息""" # 姓名(共有属性) nam ...