写点什么

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:004426

评论 1 条评论

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

Web安全应急响应小记

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 应急响应

起飞!这份技术点拉满的ELk+Lucene笔记,可能价值百万

Java 架构 面试 程序人生 编程语言

【初恋系列】我轻轻的走了,正如我轻轻的来(微博评论实战)

人工智能~~~

高可用 高性能 微博评论架构实战

美团大佬的Java性能调优实战手册,上线当天 下载量破百万!

Java 编程 架构 程序人生

不愧是阿里巴巴内部Spring Boot实战文档,这细节讲解,神了

Java spring 架构 面试 微服务

“区块链+政务”纵深发展 链上共识提升服务效能

CECBC

大数据作业Spark sql

Clarke

自我提升:方法探索

程序员架构进阶

自我管理 时间管理 自我提升 10月月更

从零开发一款Android Rtmp播放器

轻口味

android 音视频 引航计划 10月月更

音视频全链路开发实践|引航计划|音视频

轻口味

音视频 引航计划 内容合集 技术专题合集

点击量破百万!阿里内产微服务进阶讲义,简直是Java开发者的福音

Java 编程 架构 面试 程序人生

项目管理中常见的十个问题

石云升

项目管理 管理 引航计划 内容合集 10月月更

惊艳!阿里出产的MyCat性能笔记,带你领略什么叫细节爆炸

Java 架构 面试 程序人生 编程语言

009云原生之分布式事务模式

穿过生命散发芬芳

云原生 10月月更

阿里巴巴《Java权威面试指南(全彩版)》来袭,冲击“金九银十”有望了

Java 程序员 架构 面试 后端

在线RGB和HEX十六进制颜色互转工具

入门小站

工具

金九银十旗开得胜!秋招字节正式批4面,顺利拿到offer

Java 架构 面试 程序人生 编程语言

架构实战营模块 8 作业指导

华仔

架构实战营

这篇阿里扫地僧所写关于SpringCloudAlibaba的笔记真香!

Java 架构 面试 程序人生 编程语言

阿里内部“SpringCloudAlibaba学习笔记”全彩第三版开源

Java spring 架构 面试 微服务

为什么感觉假期还没开始就快要结束了?

脑极体

大前端:入门CSS的编程世界~

Bob

CSS 大前端 引航计划

什么是机器学习, CNN TensorFlow by Google神经网络深度学习 易筋 ARTS 打卡 Week 69

John(易筋)

ARTS 打卡计划

NodeJs 全栈创建多文件断点续传

devpoint

大前端 upload 引航计划 10月月更

【Vuex 源码学习】第八篇 - Vuex 对 State 状态的处理

Brave

源码 vuex 10月月更

linux之history命令

入门小站

Linux

【Flutter 专题】36 图解 Flutter 基本动画 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

架构实战营模块九作业

maybe

私有云部署系列之动态IP获取(前期准备)

稻草鸟人

Python 私有云

6. python 查漏补缺,namedtuple 命名元组,双向队列 deque,Counter 计数器,可排序字典

梦想橡皮擦

10月月更

《Go 开发指南》-快速安装 Go 环境

看山

Effective-go 10月月更

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