繁体   English   中英

我们应该为电子商务android应用程序使用后端代码还是客户端代码

[英]Should we use backend code or Client side code for e-commerce android app

我正在开发一个 android 电子商务应用程序,最近我对一些概念几乎没有怀疑。
我应该将我的函数包含在客户端 apk 中还是在线服务器上(如 Google 函数、Amazon lambda)?

例如,用户在他的购物车中添加了一个项目
我是否应该在客户端 apk 中包含我的代码,例如:

Get the item's price and multiply it with the quantity and then add to the total price of cart. 

或者我应该只从客户端 apk 发送数据,例如:

Send the unique ID and quantity to the specific function in online functions

然后把乘法和东西...放在在线函数中。

我应该在哪里包括这些计算?

我认为这里重要的是你如何管理状态。 当用户向他们的购物车添加东西时,应用程序是否会告诉服务器他们已经这样做了? 他们在服务器上是否有购物车,以及该用户迄今为止添加的内容的列表? 还是这一切都发生在用户的设备上,而服务器在他们结账之前不知道有关购物车的任何信息?

如果购物车是在服务器上管理的,我会说最好让它处理所有状态,并让它告诉设备要显示什么。 如果用户添加了 2 个项目,告诉服务器他们添加了什么,服务器可以说“你的购物车包含这个”并在该信息中包含价格。 它为您提供了更多控制权,因为您的服务器是事实的来源 - 您不依赖于设备来使其正确(这听起来很傻,但可能会发生很多奇怪的事情)

不管你做什么,都不要让用户的设备告诉服务器这些物品的价格! 如果它正在为用户计算总数,那么很好,只要它用于显示目的。 但是,在计算结账时商品的成本时,您自己做,服务器端 - 从用户那里获取商品 ID 和计数,仅此而已。 如果他们伪造一个说 1 美元 50 块金表的请求,那你就麻烦大了!

这可能很明显,但我不得不把它放在那里以防万一!

这取决于您从何处调用该函数。 如果您从前端代码的某处调用该函数,则应将其包含在客户端中。 如果您从 Lambda 或 Google 函数之一中的某个位置调用该函数,那么您应该将其放在那里。

您可能想了解的概念称为范围。 只要函数在作用域内,其他东西就可以调用它。 您可能会考虑在您的特定编程语言中查找范围规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM