首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标C& Swift --它们同时处理客户端和服务器端吗?

目标C& Swift --它们同时处理客户端和服务器端吗?
EN

Stack Overflow用户
提问于 2017-08-18 04:09:17
回答 2查看 416关注 0票数 1

这是一个非常普遍的问题。

在更“传统”的基于web或浏览器的开发中,您有服务器端语言,如Java、C#等。然后,在客户端,有HTML、CSS和JavaScript。

关于本地移动应用程序开发(注意:不是移动web开发),我想知道的是.

服务器端和客户端之间是否有如此清晰的界限?是否有各自的工具和语言?如果是单独的,则使用哪些工具来进行UI开发?

或者,对于iOS,目标C和/或Swift处理两者吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-18 04:14:19

在Mobile开发中,服务器从不返回任何视图。它只是在需要来自任何服务器的数据时可以调用的api。其余的东西(主要是本地存储和屏幕)放在设备上。来自苹果的Xcode (开发基于苹果的应用程序)以.storyboard文件的形式提供给你,它可以与目标C和Swift两种语言一起使用。

票数 2
EN

Stack Overflow用户

发布于 2017-08-18 16:08:25

正如您已经注意到的,服务器端代码和客户端代码之间存在非常明确的分离。它们有不同的要求:

  • 服务器软件不需要UI,也可能需要生成网页。
  • 服务器软件需要在相对较少的高性能机器上运行大量用户。
  • 客户端需要实现响应性用户界面
  • 客户端通常是移动的,需要处理不良的网络。
  • 客户端通常运行较弱的硬件(以节省电池)。
  • 客户端通常可以垄断他们的硬件(与服务器相比)。

还有更多,但您已经可以看到,服务器和客户端有时甚至有矛盾的需求。因此,它们通常是以更适合这些需求的不同语言或框架实现的。

也有历史原因。通常,后端已经作为web服务器存在,只是后来被扩展为应用程序的后端,或者被设计为用于不同客户端的后端,这就是为什么它们是用不同的语言编写的。

也就是说,你没有理由不能用与你的应用程序相同的语言编写你的后端。在共享数据结构或匹配服务器端算法方面存在明显的协同效应(例如,当连接缓慢时,游戏可以预测服务器的响应)。

有些应用程序就是这样做的,这取决于你的应用程序和环境是否合适。

考虑到不同之处,有特定于每一方的工具,但同样,如果需要,您可以使用相同的工具完成大部分工作。对于Swift/Objective,这通常是一个编辑器和编译器/链接器。大多数人都会使用Xcode,但是如果您不在Mac上,就会使用其他工具,比如vi或emacs进行文本编辑,并使用clang作为编译器。

Objective和Swift的主要用途是客户端,因此有UIKit及其标准库来完成大部分工作。服务器端Swift是相当新的,服务器端目标C并不常见,因此您可能很难为这些库找到有用的库(至少与为后端使用而开发的语言,如Python或Ruby相比)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45748406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档