【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

评论 1 条评论

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

文心一言 VS 讯飞星火 VS chatgpt (147)-- 算法导论12.2 2题

福大大架构师每日一题

福大大架构师每日一题

关于VO/DTO/DO/PO价值的思考

姚秋实(Nacol)

Java 设计模式 架构设计 架构师

探索未来云计算,华为云耀云服务器L实例引领行业新动力

平平无奇爱好科技

SQL 算术运算符:加法、减法、乘法、除法和取模的用法

小万哥

MySQL 数据库 程序员 sql 后端开发

如何制作AI数字人短视频矩阵?

青否数字人

数字人 数字人短视频

AI数字人 vs 真人:成本与效率的对比

青否数字人

使用极限网关助力 ES 集群无缝升级、迁移上/下云

极限实验室

console Gateway 数据迁移 极限网关 极限科技

CentOS 7.8编译安装python 3.7教程。

百度搜索:蓝易云

Python Linux centos 运维 云服务器

一种LED驱动专用控制电路方案

二哈侠

INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题

极限实验室

Gateway 产品更新 easysearch 极限科技

CentOS7如何使用fail2ban防范SSH暴力破解攻击?

百度搜索:蓝易云

Linux centos SSH 云服务器 Fail2ban

数字化时代的利器:华为云服务器L实例助力初创企业稳健成长

平平无奇爱好科技

Windows 11 的代理设置:启用和禁用

Geek_bf375d

爬虫 IP 代理IP 代理IP设置 HTTPS协议

解锁中小企业上云智选,华为云这款服务器你值得拥有

平平无奇爱好科技

AI数字人SaaS系统源码独立部署到底需要多少钱?

青否数字人

淘宝API接口与用户体验分析

联讯数据

体育数据API接口:观看足球篮球比赛直播视频,获取即时比分数据

软件开发-梦幻运营部

【高效视频处理】一窥火山引擎多媒体处理框架-BMF

计算机魔术师

如何设置和使用 Proxifier教程

Geek_bf375d

爬虫 https IP 代理IP 代理IP设置

Spring Boot 外部化配置的应用

玄兴梦影

我在平台与 AIGC 的交互组件一些设计经验

软件工程师-罗小东

Java互联网+医院智能导诊系统源码 自动兼容H5小程序、Uniapp

源码星辰

Java 源码 智慧导诊 智能导诊

数字化浪潮下云计算如何服务?华为云这款服务器用实力说话

平平无奇爱好科技

Android 上的代理设置

Geek_bf375d

爬虫 代理IP 代理IP设置 跨境支付 HTTPS协议

Linux的代理设置

Geek_bf375d

爬虫 代理IP 代理IP设置 跨境电商 HTTPS协议

【云原生 | 最佳实践】一个实践驱动的云原生项目集—KubeWharf

计算机魔术师

字节跳动 云原生

回顾2023,展望2024——小工程师的执着

工程师日月

#技术人的2023总结

CSS技巧:从高度0过渡到自动高度

南城FE

CSS 前端 动画

传输黑科技下的全景之旅—浅谈开源项目E3PO的思路与功能

计算机魔术师

数字化转型新篇章:华为云耀云服务器L实例引领初创与成长型企业向前

平平无奇爱好科技

《三国杀》完成鸿蒙原生应用开发,更多游戏品类加入鸿蒙生态

最新动态

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