全栈算力,加速行业AI落地 了解详情
写点什么

Blazor 跻身跨平台移动应用开发

  • 2020-02-02
  • 本文字数:1167 字

    阅读完需:约 4 分钟

Blazor跻身跨平台移动应用开发

.NET Conf 2019大会的“聚焦Blazor”活动中,微软正式发布了新的实验性项目Mobile Blazor Bindings。Mobile Bindings 项目意在使用 Microsoft Blazor 和.NET for iOS/Android 实现跨平台移动应用开发。类似于React Native,Mobile Bindings 同样使用原生 UI 控件提供原生的用户观感体验。


简而言之,Mobile Blazor Bindings 实现了 Blazor 编程模型向移动端开发的扩展。正如微软.NET 工程师 Eilon Lipton 撰文指出,对于一直使用XAML、Razor模板和Xamarin构建混合移动端应用的 XAML 和 Xamarin 开发人员,以及使用Blazor开发Web应用的开发人员而言,Mobile Bindings 独具吸引力。


Mobile Blazor Binding 的成功与否,取决于开发人员是否愿意在原生移动应用中使用具有 Razor 语法和特性的 Blazor 风格编程模型,去编写标记语言,实现数据绑定。


Lipton 给出了一段示例代码,直观展示了具有一定 Razor 经验的 Web 开发人员如何使用 Mobile Blazor Bindings 开发移动应用。示例代码定义了一个具有按钮和点击计数器的基本视图。


<StackLayout>    <Label FontSize="30"           Text="@("You pressed " + count + " times")" />    <Button Text="+1"            OnClick="@HandleClick" /></StackLayout>
@code { int count;
void HandleClick() { count++; }}
复制代码



图片来源:微软官方文档。


类似于Razor组件在混合应用开发中的一般用法,上面的代码段中同时使用了Xamarin.Forms StackLayout和原生 C#代码处理 UI 行为。要在 Web 应用中实现同样的基本视图,可使用类似的代码结构,只是 UI 描述需要使用 HTML 标记替代 Xamarin.Forms 标记。


微软在其.NET Conf 2019大会上提出,Mobile Blazor Bindings 意在将 Blazor 扩展为一种全栈开发框架。下图清晰阐释了 Blazor 发展的各个维度,以及 Mobile Blazor Bindings 的适用之处。



图片来源:微软官方文档。


开发人员对微软的这次官宣反应不一。尽管一些人对 Blazor 工具箱的新功能扩展持欢迎态度,也有一些开发人员对引入.NET 技术创建 UI 所导致开发选择上的复杂性表达了担忧。开发人员将难以在技术投入上做出抉择,团队的发展方向也会深受困扰。一些人进一步担心微软未来将会终止其中一些项目的发展,导致投入其中的开发人员无所适从。


更具体而言,一些持批评意见的人着重指出,Blazor 的 Web 和移动应用事实上并未共享相同的 UI 定义,削弱了在这两个平台上使用单一编程模型的价值。此外,批评人士希望微软能将 Blazor 的发展重心聚焦于Progressive Web AppsWebAssembly,将移动端开发交给WPFUWPXamarin


Blazor 基于.NET Standard 2.0运行,其原生 UI 组件依赖 Xamarin.Forms。Mobile Blazor Bindings在GitHub上开源提供,需.NET Core 3.0/3.1支持。


原文链接:


Blazor Makes Its Way into Cross-Platform Mobile App Development


2020-02-02 09:003883

评论 1 条评论

发布
用户头像
不看好
2020-02-03 12:18
回复
没有更多了
发现更多内容

五个核心能力打造普惠金融商业化发展模式

易观分析

普惠金融

Python|分析QQ群聊信息,记录词频并制作词云

AXYZdong

Python 7月月更

『51单片机』十分钟学会定时器

謓泽

7月月更

【愚公系列】2022年7月 Go教学课程 010-数据类型之布尔型和字符类型

愚公搬代码

7月月更

APISIX 如何与 Hydra 集成,搭建集中认证网关助力企业安全

API7.ai 技术团队

云原生 网关 身份验证 APISIX 网关

告别缺电焦虑!充电桩装上“智慧大脑”

天翼云开发者社区

云主机 云平台

数据也能进超市

天翼云开发者社区

云计算 大数据 云平台

TiFlash 面向编译器的自动向量化加速

PingCAP

TiDB

易观分析加入智能投研技术联盟,共促行业数智化发展

易观分析

易观新闻

关于微软 Edge 浏览器的 Tracking Prevention 特性在 Angular 应用中的影响

Jerry Wang

JavaScript typescript Web web开发 7月月更

数据库审计部署方式有哪些?哪种比较好?

行云管家

数据库 数据库审计 数据库审计部署

数据库审计和日志审计的三大区别分析

行云管家

数据库 日志 日志审计 数据库审计

小程序表单组件-1

小恺

7月月更

java零基础入门-多态

喵手

Java 7月月更

java培训如何防止 jar 被反编译

@零度

JAVA开发 jar被反译

2022年中国互联网医疗年度盘点

易观分析

互联网医疗

阿里云第四届全球数据库大赛火热开赛,40万奖金广纳英才

科技热闻

内行,阿里大牛离职带出内部“高并发系统设计”学习手册

程序知音

Java 阿里巴巴 程序员 后端 高并发

一招,让停车管理不再难

天翼云开发者社区

数字化 云平台

大数据环境搭建:​​​​​​​​​​​​​​​​​​​​​Hadoop编译和分布式环境搭建

Lansonli

大数据 hadoop 环境搭建 7月月更

火眼金睛,天翼云助力打造城市视觉中枢

天翼云开发者社区

大数据 云平台

大数据ZooKeeper(一):基本知识和集群搭建

Lansonli

大数据 zookeeper 7月月更

百家号基于AE的视频渲染技术探索

百度Geek说

视频 视频渲染

leetcode 455. Assign Cookies 分发饼干(简)

okokabcd

LeetCode 数据结构与算法 贪心算法

Python 入门指南之标准库概览

海拥(haiyong.site)

7月月更

JAVA编程规范之命名风格

源字节1号

软件开发

大数据培训Spark数据倾斜问题的解决方法

@零度

spark 大数据开发

项目进度管理和风险管理记录

老猎人

揭露数据不一致的利器 —— 实时核对系统

Shopee技术团队

数据分析 后端

LeetCode-119. 杨辉三角II(java)

bug菌

Leet Code 7月月更

天翼云携手华为,强强联合,共创数据存储新生态

天翼云开发者社区

存储 数字化

Blazor跻身跨平台移动应用开发_语言 & 开发_Sergio De Simone_InfoQ精选文章