C# 跨设备前后端开发探索

栏目: C# · 发布时间: 4年前

内容简介:每个人都拥有带起你的好奇心,本文将使用 C# 开发各种各样好玩的东西。

每个人都拥有 好奇心 ,好奇心驱使着我们总是去尝试做一些有趣的事情。

带起你的好奇心,本文将使用 C# 开发各种各样好玩的东西。

C# 跨设备前后端开发探索

0x00 序章

好奇心

每个人都拥有 好奇心 ,好奇心驱使着我们总是去尝试做一些有趣的事情。

比如这件事:

C# 跨设备前后端开发探索

在好奇心的驱使下,我们立刻 尝试 我们的想法。

我们需要用电脑打字,手机端出字;于是我们需要开发的是一款云输入法。而一个最简单的云驱动的软件需要至少一个 Web 后端、一个桌面端和一个移动端。

还没开始呢,就这么复杂。

C# 跨设备前后端开发探索

先搞起来

摆在我们面前的,有两条路可以选:

  1. C# 跨设备前后端开发探索
  2. C# 跨设备前后端开发探索

如果先搞起来,那么我们能够迅速出效果,出产品,出玩具,那么这种成就感会鼓励我们继续完善我们的代码,继续去做更多好玩的东西。

而如果是先掌握所有理论知识再实践,这是我们从学校带来的学习方式,我们中的多数人在校期间就是这么学习的。虽然对学霸来说可以无视,但对于我们这样大多数的小伙伴来说,简直就是“从入门到放弃”。

C# 跨设备前后端开发探索

如果先搞起来呢?如果我们连“入门”都不需要呢?是不是就不需要放弃了!

怎么才能够先搞起来?我们需要调整一下心态——我们不是在学,而是在玩!

我们需要做的是降低学习成本,甚至入门不学习,那么立刻就能玩起来!

C# 跨设备前后端开发探索

我们有 C#,还有什么不能马上搞起来!

0x01 C# 跨设备前后端开发

打开 Visual Studio 2019,我们先搞起来!

C# 跨设备前后端开发探索

Web 后端

C# 跨设备前后端开发探索

C# 跨设备前后端开发探索

C# 跨设备前后端开发探索

对于简单的云服务来说,使用 Asp.NET Core 开发是非常简单快速的。你可以阅读林德熙的博客入门 Asp.NET Core 开发:

Windows 桌面端

C# 跨设备前后端开发探索

我们是要玩的呀,什么东西好玩。我们自己就是用户,用户看得到的部分才是最具有可玩性的。这就是指客户端或者 Web 前端。

我们现在要拿 C# 写客户端,一般 C# 或者 .NET 的开发者拿什么来写桌面客户端呢?

  • WPF 或者 Windows Forms 应用程序

C# 跨设备前后端开发探索

C# 跨设备前后端开发探索

公共代码

我们现在已经有至少两个端了。由于我们是同一个软件系统,所以实际上非常容易出现公共代码。典型的就是一些数据模型的定义,以及 Web API 的访问代码,还有一些业务需要的其他公共代码等等。

所以,我们最好使用一个新的项目将这些代码整合起来。

我们选用 .NET Standard 项目来存放这些代码,这样可以在各种 .NET 中使用这些库。

C# 跨设备前后端开发探索

控制台

由于我们多数的代码都可以放到 .NET Standard 类库中,以确保绝大多数的代码都是平台和框架无关的,所以实际上我们在其他各个端项目中的代码会是很少的。

这个时候,写一个控制台程序来测试我们的项目,控制台程序的部分其实只需要很少的用于控制控制台输入输出的代码,其他多数的代码例如用来访问 Web API 的代码都是不需要放在控制台项目中的,放到 .NET Standard 的类库中编写就可以做到最大程度的共用了。

C# 跨设备前后端开发探索

iOS 端

接下来要完成这个云键盘程序,我们还需要开发一个移动端。使用 Xamarin 可以帮助我们完成这样的任务。

C# 跨设备前后端开发探索

C# 跨设备前后端开发探索

关于使用 Xamarin.Forms 开发一个键盘扩展,可以阅读我的另一篇博客:

Web 前端

于是,我们仅仅使用 C# 还有客户端开发者熟悉的 XAML 就开发出了三个端了。

C# 跨设备前后端开发探索

这三个端中,有两个都是客户端,于是就会存在向用户分发客户端的问题。虽然可以让用户去商店下载,但是提供一个官方下载页面可以让用户在一处地方找到所有端的下载和部署方法。

这需要使用到前端。然而如何使用 C# 代码来编写去前端呢?

C# 跨设备前后端开发探索

使用 CSHTML5!

你可以前往 CSHTML5 的官网 下载 Visual Studio 的插件,这样你就可以在 Visual Studio 中编写 CSHTML5 的代码了,还有设计器的支持。

C# 跨设备前后端开发探索

0x02 C# 还能做什么?

于是我们使用 XAML + C# 就编写出了各个端了。

C# 跨设备前后端开发探索

如果没有 GUI,那么跨平台将是非常容易的一件事情。例如我们想要在 Mac 电脑上也做一个打字发送的一方,那么一个控制台应用也是能够直接完成的。

C# 跨设备前后端开发探索

不过,这并不是说,我们只能通过控制台来开发桌面端应用。

我们还有:

利用这些平台,我们能开发其他桌面平台的 GUI 客户端。

另外,利用 ML.NET,我们还能用 C# 进行机器学习。可参见: Bean.Hsiang - 博客园

利用 Roslyn,我们还能用直接做编译器,然后你还有什么不能做的?关于 Roslyn 的入门,可以阅读: 从零开始学习 dotnet 编译过程和 Roslyn 源码分析 - walterlv

还有 IoT。

还有其他……

0x03 终章

每个人都拥有 好奇心 ,好奇心驱使着我们总是去尝试做一些有趣的事情。

使用你熟悉的语言 C#,不需要太多额外的入门,即可玩转你身边各种你需要的技术栈,玩出各种各样你自己期望尝试开发的小东西。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java Web入门经典

Java Web入门经典

王国辉、陈英 / 机械工业出版社 / 2013-6 / 69.00元

《Java Web入门经典》以初学者为核心,全面介绍了JavaWeb开发中常用的各种技术。内容排列上由浅入深,让读者循序渐进掌握编程技术;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的提示、技巧、说明等栏目,夯实读者编程技术,丰富编程经验。全书共分4篇19章,其中,第一篇为“起步篇”,主要包括开启JavaWeb之门、不可不知的客户端应用技术、驾驭Ja......一起来看看 《Java Web入门经典》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码