游戏迷提供最新游戏下载和手游攻略!

C#比JAVA弱吗?使用C#从一份源代码同时生成Android和iOS应用程序

发布时间:2024-09-28浏览:16

各位老铁们,大家好,今天由我来为大家分享C#比JAVA弱吗?使用C#从一份源代码同时生成Android和iOS应用程序,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

上图显示了在真实的Redmi note 1S 上运行Android 应用程序和在iPhone 13 模拟器上运行iOS 应用程序的相同C# 源代码。 (由于iOS需要在真机iPhone上调试,所以需要其他运行开发环境配置,后续文章会详细讲解。)

先写:

1、VS2019中的项目解决方案结构:

在Visual Studio 2019 中选择Mobile Application (Xamarin.Forms) 作为项目模板来创建项目,您将得到上图中的解决方案结构。

该解决方案结构由三个项目组成,分别是

StockDiffEanrs,源码项目,所有C#源码,以及UI设计均在其中开发

StockDiffEarns.Android,Android 项目

StockDiffEarns.IOS,iOS 项目

这里的关键点是,不需要同时编写Android项目和iOS项目的源代码。只需要在第一个源代码项目中完成,即一段C#代码就可以同时完成Android和iOS应用程序的开发。

2.展开第一个项目开发UI,如下图

1)创建一个新的Views文件夹,

2)在此文件夹中,添加一个新项目,选择内容页面,并将其命名为“CalcT.xaml”

3)在CalcT.xaml中编写如上所示的代码。这部分代码是应用程序的UI 部分。

至此,Android App和iOS App的UI界面就同时完成了!

3.编写C#代码完成实际功能

该应用程序只有一键功能,即计算差价。

如上图,点击CalcT.xaml,在其对应的CalcT.xaml.cs文件中写入C#代码。

代码原理:计算点差。如果点差为负数,金额显示为绿色,否则显示为红色,保留2位小数。

4. 运行并调试Android应用程序

1)选择“Android设备管理器”如上图

2) 在打开的窗口中,创建一个新的Android模拟器。 (过程中会连接网络下载Android调试缺少的环境,由于国内GOOGLE服务器连接不良导致创建失败,根据相应错误网上查找解决方案)

3)设置第二个Android项目为启动项目

4) 从创建的Android 模拟器运行应用程序

5)运行过程中,VS2019会自动编译,启动模拟器,将app部署到Android模拟器中,并显示运行结果:

5. 在Android 手机上安装并运行Android 应用程序

1)完成上述过程后,运行模拟器后在Android项目文件夹中已经生成了apk安装包。可以直接使用吗?

答案是肯定的,但是需要将VS2019编译模式从Debug模式改为Release模式,然后重新编译。如果你要问为什么,原因是我亲自测试了一下,在安卓手机上直接安装是可以的,不用这样做,但是运行会崩溃!

右键单击第二个Android 项目,然后单击“属性”。显示上面的图像。取消选中这两个地方,它将更改为发布模式。

2) 更改Android应用程序支持的最低Android版本

如果您选择Android 5.0作为最低版本,则该安装包无法在Android 4及以下版本上安装。博主主要运行在老手机Android 4.4.4 Redmi note1s的MIUI中,所以这里选择4.3。另外小米MIX4 miui12也可以运行

6.生成iOS应用程序并运行调试

使用Android C#代码开发的应用程序可以直接生成iOS应用程序并进行调试。但由于苹果设备的特殊限制,Windows电脑需要与苹果电脑进行无线连接。同时苹果电脑已经安装了相应的XCODE版本。

为了实现这种调试,VS2019需要XCODE 12或以上的苹果电脑才能协同工作。不同的XCODE 版本最低支持macOS 版本。因此,我的苹果电脑macOS版本不支持运行XCODE 12,所以我必须将苹果电脑系统升级到macOS 11.7。这样我就可以运行XCODE 13.1,这肯定比XCODE12要高。经过一番努力,苹果电脑系统和开发环境终于满足了要求。

1)连接苹果电脑,右键第三项,设置为启动设备,点击VS2019调试按钮,VS2019提示远程连接苹果电脑的步骤,然后进入状态。

VS2019远程连接MAC xcode

VS2019会自动检测苹果电脑的Mono版本

检查Xamarin SDK 版本。如果版本不一致或者缺失,会自动安装。

最后,将检查XCODE 版本。如果不一致的话,我们的开发者需要在苹果电脑上手动安装!

一切通过后,就会显示Apple iOS 设备模拟器。

在iphone 13模拟器中运行APP

在真机上调试后,继续跟进文章。喜欢的朋友可以收藏或者关注。

7. 生成iOS应用程序并将其部署在iPhone和iPad上

要在真实的Apple设备上部署iOS应用程序,您需要将iPhone通过USB连接到MAC计算机,并启动XCODE远程和Windows连接进行调试,这将在后续文章中进行说明。

写在最后:

针对软件产品经理和软件公司所有者,或者对外包感兴趣的客户。请不要觉得程序员的工作量因此而减少。应该看到,一个开发团队同时完成了两个开发团队的工作量。这样做的好处是提高了app开发的效率,而不是减少了工作量,并且可以让app程序的后续维护、二次开发、版本管理等得到相应的统一。这个好处不是给程序员自己的,而是给软件公司老板以及产品源代码交付给客户后的管理和二次开发的。

用户评论

暖瞳

这真的太酷了!我一直想学习开发跨平台应用,现在终于有人做出来了。我虽然不熟悉C#, 但觉得这种技术真的很颠覆传统!

    有10位网友表示赞同!

泡泡龙

这篇文章说C#比Java弱?!有点瞧不起人吧。Java可是老牌的企业级语言,基础稳定可靠,而C#,虽说是.NET生态下的明星,但还是比不上Java那厚实的基础!

    有12位网友表示赞同!

孤自凉丶

跨平台确实是一个很重要的潮流,希望这种技术能够进一步成熟,让开发更加简单高效!现在做APP需要学习不同的语言真是太麻烦了。这篇文章的案例很有吸引力,看来C#潜力无限啊!

    有16位网友表示赞同!

﹏櫻之舞﹏

代码生成器?这部分我不太了解,我更倾向于自己写出干净利落的代码。用一个工具生产可能并不具有可读性和可维护性,而且调试起来也会更加复杂吧?

    有9位网友表示赞同!

念初

这个功能听起来很有潜力!如果C#真能像Java那样同时支持Android和iOS开发,会不会变成未来主流的跨平台语言? 虽然个人偏好Swift,但这种技术发展还是很让人期待的!

    有11位网友表示赞同!

月下独酌

作为一名JAVA开发者,看到跨平台C#代码生成器不得不表示惊讶。我一直在寻找解决移动端开发冗余工作的方法,这个工具或许能给我带来新思路。不过,我还是保留一点谨慎态度,需要深入了解其稳定性和性能表现。

    有12位网友表示赞同!

厌归人

从一份源码生成安卓和iOS APP 听起来确实很方便, 但是这可能导致代码逻辑复杂化,维护难度增加吧?开发团队需要重新思考代码结构设计,才能实现真正的跨平台高效开发!

    有7位网友表示赞同!

何必锁我心

C# 比JAVA弱吗?我觉得不完全是。两种语言各有优缺点,Java更注重稳定性和成熟的生态系统,而C#更侧重于现代化的特性和高性能。 不同的项目环境决定了使用哪种语言更合适,需要根据实际情况进行选择!

    有14位网友表示赞同!

执笔画眉

这个代码生成的例子让人眼亮!看起来开发团队付出了很多努力,希望能尽快看到完整的解决方案发布! 对我来说,开发一款APP不需要多平台支持,但对于一些大公司来说,这可能是他们未来发展的方向。

    有19位网友表示赞同!

秘密

这篇文章让我对C#有了一个更深的了解,原来它不仅仅是一种桌面应用程序语言。 跨平台开发确实会提高效率, 但是也要考虑代码的可读性和维护性,不能仅仅追求速度和简单!

    有7位网友表示赞同!

ー半忧伤

从一份代码生成两种APP系统,这听起来像是一个很有前途的项目! 如果这种技术能够实现更流畅的交互体验和更高效的开发流程,那将会彻底改变移动软件开发领域。

    有8位网友表示赞同!

龙吟凤

我一直对跨平台开发比较感兴趣, 但始终没找到适合自己的方案。C# 或许可以成为未来的选择!不过在实际使用之前,还是需要深入了解它的优缺点, 看看它是否符合我的项目需求!

    有9位网友表示赞同!

雪花ミ飞舞

不知道这个代码生成器在处理复杂逻辑的时候效果如何?如果只能生成简单的APP App,那对于开发团队来说意义就不是很大。我更期待看到它能够解决一些实际问题,而不是只是一些概念性的演示。

    有19位网友表示赞同!

眉黛如画

我始终坚持认为Java是企业级系统的主流语言。 虽然C#在某些方面有所优势,但在可靠性和性能方面,Java永远比不上!这种跨平台开发技術只能作为辅助工具使用,不能完全替代传统的开发方式。

    有10位网友表示赞同!

花海

这个案例真的太牛了,用 C#写一份代码就可以同时生成 Android 和 iOS App,这让我对 C# 的能力有了更深的认识,以前只是觉得它像是在桌面应用领域里很厉害。

    有7位网友表示赞同!

栀蓝

C# 比JAVA弱吗?这个问题没有标准答案,两者的适用场景不同,各有优缺点。从这段源码代码来看,C# 的表现非常强大,能够跨平台输出,这在未来一定会有更广泛的应用范围。

    有10位网友表示赞同!

黑夜漫长

我觉得这款工具应该结合一些现成的UI组件和设计模板,这样可以提高开发效率, 减少开发者重复劳动,同时也提高APP开发的可视化程度!

    有13位网友表示赞同!

墨染天下

这个技术很有前途,我相信未来会越来越完善,C# 将会成为跨平台开发的首选语言。 当然,这需要开发团队不断改进工具和技术, 才能真正满足市场的需求。

    有16位网友表示赞同!

热点资讯