2019-11-13-如何在国内发布-UWP-应用
title | author | date | CreateTime | categories |
---|---|---|---|---|
如何在国内发布 UWP 应用
|
lindexi
|
2019-11-13 08:46:44 +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 这个我看起来和玩具一样的不实用的技术
2019-11-13-如何在国内发布-UWP-应用的更多相关文章
- 6424. 【NOIP2019模拟2019.11.13】我的订书机之恋
题目描述 Description Input Output Sample Input 见下载 Sample Output 见下载 Data Constraint 题解 lj题卡线段树 求出每个右端点往 ...
- 【2019.11.13】SDN上机第3次作业
参考资料:https://www.cnblogs.com/fjlinww/p/11834092.html 实验一 利用Mininet仿真平台构建如下图所示的网络拓扑,配置主机h1和h2的IP地址(h1 ...
- 【NOIP2019模拟2019.11.13】旅行 && GDKOI2018 还念(二分答案+dij)
Description: 题解: 显然满足二分性. 并且每一条边要不选l要不选r. 二分的那条链肯定要选l. 考虑有两个人在走最短路,一个人一开始必须走二分的那条链,要求第一个人走的比第二个人快. 安 ...
- 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出
有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...
- 11.13的C++##不想写结构,更不爱指针
//2019.11.13 卑微的Loving-Q瞎写的程序 报错请更改VS中的SDL检查// 我要去嗨了,在线卑微 1 #include<iostream> #include<std ...
- 2019-11-25-如何在国内发布-UWP-应用
原文:2019-11-25-如何在国内发布-UWP-应用 title author date CreateTime categories 如何在国内发布 UWP 应用 lindexi 2019-11- ...
- iOS app提交审核 11.13条款问题
今年开年到现在.提交app应用一直招拒,这个问题我想不明白,感觉就是一个坑.所以贴出来给大家看看. 发件人 Apple11.13 - Apps that link to external mechan ...
- 每日一练ACM 2019.04.13
2019.04.13 第1002题:A+B Proble Ⅱ Problem DescriptionI have a very simple problem for you. Given two in ...
- DevExpress VCL 已死-----关于13.1.4的发布。
随着DevExpress VCL 13.1.4 的发布,已基本上宣布了devexpress vcl 已经死亡了. 除了一些bug 修正,没有什么新的东西,每年的订阅费又那么贵,而且delphi 现在已 ...
随机推荐
- python 索引上的合并
- php中 重载的方法
php中 重载(一)这个文章,谢谢.作为初学者,大牛勿喷: 基本是两个方法 __call,当调用对一个不可访问的对象方法时,会自动执行该魔术方法!(对象调用) 典型的两种处理方式: 1,给出友好的提示 ...
- webstorm/phpstorm破解版教程网址
http://idea.lanyus.com/ http://www.php.cn/tool/phpstorm/408348.html 如果正版到期了,重新安装不能再次免费试用的话,之后我就用老版的w ...
- 在notepad++中tab和空格的区别
在notepad++中实现tab和空格不通用的问题 方式一: 方式二:
- java 3类的继承
模板类 泛型程序设计方法 类的组合 类的继承 java只有单继承 隐藏和覆盖 用super.x调用 访问静态属性 静态属性不继承 静态成员只有一个,不会有副本 静态成员只有一个所有的超类和子类 方法的 ...
- java 日期合法
try { String date_str = "5555-22-33"; SimpleDateFormat format=new SimpleDateFormat("y ...
- JavaScript--返回顶部方法:锚链接、行内式js写法、外链式、内嵌式
返回网页顶部方法 一.锚链接 simpleDemo: <!DOCTYPE html> <html lang="en"> <head> <m ...
- C++中数字转换成字符串
头文件:<string> 转换函数:to_string(); 例如:int n=10; string str=to_string(n) ;
- SQL优化经验总结34条
SQL优化经验总结34条 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): OR ...
- django模型中auto_now和auto_now_add的区别
auto_now无论是你添加还是修改对象,时间为你添加或者修改的时间. auto_now_add为添加时的时间,更新对象时不会有变动. 补充: 创建类时:DateField表示年月日 DateTime ...