Android前端人员与后台开发的撕逼(一)

  首先表明一下身份,本人是Android前端开发人员,本篇只做合理性探讨,不进行人身攻击;

其次希望各位大神进行点评!点评!点评!  

我们讨论一下接口的两种返回方式,直接举例说明一下,假设书籍信息表有30个字段,现在有各种排行榜和列表都需要显示书籍基本信息,但显示的属性一般会有5-8个左右,各个排行榜显示的字段内容有可能不一样,每个版本显示的属性也可能不一样,那么问题来了,是每次排行榜和列表都返回所有的30个字段还是每次按需返回相关字段呢?

方案一:每次列表和排行榜都返回所有字段

优点:接口稳定,不需要每次升级增加或修改字段

缺点:字段冗余,消耗流量

方案二:按需返回相关字段

优点:减少冗余字段,数据不乱,结构清晰

缺点:升级版本或需求改变的时候接口需要作对应调整

我个人趋向于采用第二种方式,原因就是方案二的优点比较适合移动端开发规范,而针对于方案二的缺点,我建议服务器端建立按字段返回内容的框架,举例说明A排行榜需要BookId,BookName,BookScroe,另一个排行榜B需要返回BookId,BookName,BookDesc,那么后端实现逻辑可简写为:

Public object getA_List() //获取排行榜A

{

Return getBookInfo(new String[]{BookId, BookName, BookScroe});

}

Public object getB_List() //获取排行榜B

{

Return getBookInfo(new String[]{BookId, BookName, BookScroe});

}

Public object getBookInfo (String[] m_Param) //统一获取书籍信息的方法

{

//实现逻辑

}

同理、同一个排行榜A升级版本只需做分支判断就好了;

另外这个getBookInfo(String[] m_Param)在服务器端定义完后,是否客户端根据每次变化,调用getA_List()方法的时候把需要的后台字段,,比如后台定义方法如下:

Public object getA_List(String[] m_Param) //获取排行榜A

{

Return getBookInfo(m_Param);

}

那么后端接口就相对稳定,而前台也可以灵活地根据需要的字段来进行获取了?

我个人意见呢依然是让服务器端来处理这类逻辑,理由:

1、 我们需要做的客户端尽量是瘦客户端;

2、 前台人员不需要关注后台数据表的结构设计,能够快速地进行效果和流畅度的开发,也就是说前端和后端应该是透明的;

3、 考虑到安全性问题,因为如果前端传递参数的话后台数据库的结构表都暴露出来了。

最后,还是希望各位大神不吝赐教!

时间: 2025-01-17 04:57:05

Android前端人员与后台开发的撕逼(一)的相关文章

android 集成支付宝app支付(原生态)-包括android前端与java后台

本文讲解了 android开发的原生态app集成了支付宝支付, 还提供了java后台服务器处理支付宝支付的加密代码, app前端与java后台服务器使用json数据格式交互信息,java后台服务主要用来对支付数据进行加密和接受支付宝服务器的回调 注意: 本文即涉及到 android前端, 也涉及到 Java后台 准备条件: 到支付宝官网上注册用户, 打开开放平台,支付宝默认生成沙箱环境,用来测试支付流程 安装Android Studio[下载], 安装 Eclipse mars  [下载],  

高仿QQ源码下载 (android前端+JAVA后台+spark<windows版聊天>)方便集成到自己系统

 A openfire (XMPP+开源源码); B android前端源码(仿QQ高大上UI); C JAVA后台源码(UI高大上HTML5);  Dspark(windows版);  系统主要实现为:JAVA后台(springmvc+mybaits)+openfire(xmpp推送)+android(asmark+ActiveAndroid+async-http+universal-image-loader)+spark(windows版);  android前端 1.集成Activie

【转】无后端(nobackend):前端优先的Web开发【译】

每个应用都由两样东西构成:该应用独有的功能和所有应用共有的功能,比方说用户注册.登录.忘记密码等.而从用户的角度出发,那些独有的功能归结起来就是用户界面以及系统的行为模式.而在视觉表象之后的功能,用户并不关心,他们只期望系统能按预期运行就可以了. 前端和后端有各自的侧重点,因此往往也需要不同的技能,由不同的开发人员来负责完成.无后端(nobackend)的开发原则能够进一步解偶这些不同的侧重点,这样两边的开发人员可以更加专注于各自真正热衷的工作. 一个简单的例子 后端经常需要提供API给前端,以

Gson的详细使用(android必备,快速提高开发效率)

Gson的详细使用(android必备,快速提高开发效率) 接下来我要强烈给大家推荐一个google官方推荐使用的json解析库Gson.掌握好它之后,在以后的开发中就会减少非常多的代码,使用起来非常的方便. 概述: Gson是一个Java库,它不仅可以把Java对象转化为Json格式,它也能将一段Json格式的字符串转化为相对于的Java对象.Gson适用于所有Java对象,即使是那些你不知道源代码的对象. Gson的目标 提供简单易用的方法比如 toString() ,构造方法来转化JAVA

老油条的后台开发

今天主要想吐槽一下: 作为前端,如果公司没有实现前后端分离的话,不可避免的,前端就是负责写一些静态的html页面,和页面上的各种js效果,然后交给后台开发人员,由他们转换为jsp,那么就对后台开发的js技术有所要求了. 在我刚到这个项目的时候,就发现了项目组的问题,任何项目都是jquery,web端页面,移动端页面,全是一套jquery实现,样式也是全部手写,没有任何组件.模块的概念,web页面其实也能看的下去,可是移动端的页面真的是不忍直视啊,尤其是遇到需要出发一些触屏事件的时候. 正好年末的

身为现代前端人员,不懂响应式怎么行?

响应式网页的话题随着如今移动互联网的盛行又被推到了很重要的位置,有相关人士预计,移动互联网的数据流量将在2015年超越桌面端的流量. 你一定听说过,我们目前正处在"后PC时代",这对于前端开发人员来说,意味着应该处理一些用户行为上的改变,由此步入一个响应式与自适应设计技术统治的时代.这其中的关键点在于web的统一化,也就是说在合理的条件下,无论用户使用任何设备,都应该传达相同的内容信息与服务. What? 2010年,Ethan Marcotte提出了"自适应网页设计&quo

【Android的从零单排开发日记】之入门篇(五)——Android四大组件之Service

这几天忙着驾校考试,连电脑都碰不到了,今天总算告一段落了~~Service作为Android的服务组件,默默地在后台为整个程序服务,辅助应用与系统中的其他组件或系统服务进行沟通.它跟Activity的级别差不多,但不能自己运行只能后台运行.service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等, 总之服务总是藏在后台的. ps:Service运行在主线程中的,所

【转】C++后台开发之我见

工作也快两年了,偶然看到自己以前写过的一些技术博客,发现自己自毕业后一直没有更新过自己的技术博客,趁现在是刚过完春节快要回公司工作之际,谈谈我个人对后台开发的一些个人见解,希望能够对在校的学生或者刚刚接触C++后台开发的童鞋有点帮助. 还记得自己在学校的时候,一直都比较注重的是:编程语言+数据结构与算法.没错,对于一个在校的计算机专业的学生,这是很重要的方面.但是,这往往不够,或许是因为毕业前一直没有进入企业实习,以至于自己在毕业之前,对自己未来的职业规划做得很不够,不知道自己以后会做什么方向,

【转】什么是后台开发?

软件应用程序就像冰山一样.用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的.这就是令人难以捉摸又神秘的“后端”. 在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”. 在大多数应用中,非用户接口代码比用户接口代码多得多.复杂系统是在后台发生的各种使其工作的逻辑. 我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测.所有这一切都发生在幕后. 后端开发人员是这样的开发人员. 后端开发究竟