热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

css-使用PHP作为服务器后端语言,如何做到web前端与手机客户端使用同一个服务器?

最近要做一个项目,要既有客户端又有web前端。使用的是YII框架,web前端还好说,直接在html代码中echo,有时候甚至直接echo出html语句,但是这样做又不能兼容到Android客户端。请问我该如何做才能做到web端与客...
最近要做一个项目,要既有客户端又有web前端。使用的是YII框架,web前端还好说,直接在html代码中echo,有时候甚至直接echo出html语句,但是这样做又不能兼容到 Android客户端。请问我该如何做才能做到web端与客户端使用同一套服务器代码呢?

使用json么?求教,真心求教

回复内容:

最近要做一个项目,要既有客户端又有web前端。使用的是YII框架,web前端还好说,直接在html代码中echo,有时候甚至直接echo出html语句,但是这样做又不能兼容到 Android客户端。请问我该如何做才能做到web端与客户端使用同一套服务器代码呢?

使用json么?求教,真心求教

使用 API 机制,无论 web 端还是 mobile 端,都走 API 来取数据。
既然用的是 YII,就可以通过 behavior 机制来 handle 很多 stuff
例如,定义一个 APIBehavior 来做数据格式化处理之类的事情。

但是,既然题主希望使用一套机制来处理的话,就需要保证需求一致,否则你在 web 端需求改动,需要改动 API,那么就会对 mobile 造成影响。

当然你可以把大部分的逻辑放在一个 BaseAPI 中,然后将异化代码分别放在 MoblieAPIWebAPI 内。

如何设计一个 RESTful API 可以参考:

《Best Practices for Designing a Pragmatic RESTful API》

StephenLee说的很清楚了,使用接口传输数据(josn),移动端和web端在前端js进行数据在页面的渲染,唯一不同的只是css布局。移动端的时候可能砍掉一些功能或者单独设计功能。json只是数据的传输格式,rest是你接口的数据的传输协议。可以采用boostrap3.0之类的css框架,但是对于低版本ie的支持很一般。


我喜欢angularjs, 基本就是跟echo一样,比如数据是object.item.name, 只要在web上{{object.item.name}}就行,封装了handlebarjs的模板,什么foreach、ifesle都可以很简单实现。当然还有很多js框架,甚至直接用jquery都可以。


我估计题主开发队伍也不雄厚,前段后端就一两个人,我个人觉得backbone有点重,我对比ember和angular还有backbone以后觉得开发代码量最重的好像backbone了,最简单的是angular :)

单独恢复这么多,不敢要采纳,给个赞吧

web、安卓客户端都是浏览器么?可以试试bootstrap,一个CSS/HTML框架,应该可以解决你的兼容性问题

web前端可以试下 mvc,比如ember.js, angular.js 一类的框架

布局最好用响应式前端框架如bootstrap.然后可以看下phonegap

web端用angular.js,移动端用bootstrap就行了。

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • MVC中的自定义控件
    怎么样创建自定义控 ... [详细]
  • 1223  drf引入以及restful规范
    [toc]前后台的数据交互前台安装axios插件,进行与后台的数据交互安装axios,并在main.js中设置params传递拼接参数data携带数据包参数headers中发送头部 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
author-avatar
素子花开365
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有