原文: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. U8 BOM数据结构

    U8 BOM涉及的数据表有四张 bom_bom     BOM资料  该表主要记录BOM表的一些基本信息,版本.创建.审核等信息,不包括任何子件.母件信息:bomid是BOM主键 bom_parent ...

  2. vs code搭建Django环境

    在网上找了很多博客,看了vs code的官方文档,最终拼凑起来,终于搭建起来了djangode开发虚拟环境(win10下) 一.新建项目文件夹 F:\Python\temp\django_demo(例 ...

  3. tinyriscv---一个从零开始写的极简、易懂的开源RISC-V处理器核

    本项目实现的是一个微riscv处理器核(tinyriscv),用verilog语言编写,只求以最简单.最通俗易懂的方式实现riscv指令的功能,因此没有特意去对代码做任何的优化,因此你会看到里面写的代 ...

  4. ABP进阶教程8 - 自定义按钮

    点这里进入ABP进阶教程目录 在功能按钮区增加一个自定义按钮 - Add(创建课程) 添加按钮 打开展示层(即JD.CRS.Web.Mvc)的\wwwroot\view-resources\Views ...

  5. mssql sqlserver if exists 用法大汇总

    摘要: 下文讲述sqlserver中,更新脚本中常用if exists关键字的用法说明,如下所示: 实验环境:sql server 2008 R2 一.检测数据库是否存在于当前数据库引擎下 if ex ...

  6. Visual Studio Code 配置 EasyLESS,如果想用less,但又不想在组件中直接添加 style 时可以参考

    在用 vue 画页面时,如果想用less,但又不想在组件中直接添加 style ,可以使用 vs code 的插件:EasyLess EasyLess 安装好后必须在 setting.json 中对它 ...

  7. Windows 10 路由表管理

    基本管理命令: route print route命令基本格式: ROUTE [-f] [-p] [-|-] command [destination] [MASK netmask] [gateway ...

  8. liteos C++支持(十七)

    1 概述 1.1 基本概念 C++作为目前使用最广泛的编程语言之一,支持类.封装.重载等特性,是在C语言基础上开发的一种面向对象的编程语言. 1.2 运作机制 STL(Standard Templat ...

  9. CodeForces - 1260C(贪心+思维)

    题意 https://vjudge.net/problem/CodeForces-1260C 有一串砖,凡是r的倍数而不是b的倍数必须涂红,凡是b的倍数而不是r的倍数必须涂蓝,是公倍数则选一个涂.把涂 ...

  10. 6.Java基础_Java自增自减/关系/逻辑/三元运算符

    /* 自增自减运算符 关系运算符 逻辑运算符 三元运算符 (同C++) */ public class OperatorDemo01 { public static void main(String[ ...