我正在为Web应用程序设计后端。我处于无法与前端开发人员合作的情况。我也不喜欢内联HTML \ PHP,也无法集成模板。我的解决方案是我会保持前端与后端完全分开。前端将通过AJAX(或jQuery)与后端通信。例如,文件上传系统的工作方式如下:
<?
//Do stuff
if(!isUserLoggedIn())
die("0-Must be logged in");
//Do more
if(!fileIsTooBigOrNotTheRightType()) {
die("0-Bad files");
}
//Do even more
if(!move_uploaded_file($src,$dst) {
die("0-directory error");
}
echo "1-Success";
?>
前端开发人员只需将文件AJAX发送到upload.php并解释响应并在前端采取相应的操作(显示表单,删除一些字段,显示错误消息,重定向到登录表单,等)
为了减少HTTP查询的数量,每个页面可能包含一个隐藏字段,其中包含将包含动态元素的JSON数据。例如,在私人消息系统的收件箱页面上,JSON字符串可以包括诸如新消息的数量,每个消息来自谁以及主题之类的内容。前端开发人员将能够解析该数据并以他喜欢的方式使用它,并且可以自由创建独立于我的用户友好界面。
这是2012年,我认为假设客户端拥有支持AJAX的javascript是错误的。
TLDR:我正在改变渲染页面的工作(将元素放在他们的位置)到客户端javascript。从效率的角度来看这是好还是坏?这似乎是服务器不得不做的工作。
答案 0 :(得分:3)
作为前端和后端开发人员,我的一般方法是服务器端,然后是客户端。在没有任何JavaScript的情况下使应用程序完全彻底地工作,然后继续(或让前端人员)到客户端。这可确保每个人都可以使用您的应用,即使是那些不使用JavaScript的用户,例如屏幕阅读器和搜索引擎。
您所指的是一种API。您创建了界面,然后让最后的开发人员向您发出API调用。
虽然您应该非常清楚API的具体内容(您可以做什么,哪些不可以),但这是可能的。
同时确保您的安全(这样每个人都无法访问您的API)。
除此之外,你可以做到,当然,没问题。
答案 1 :(得分:1)
我的建议是为前端提供一种API。因此,前端设计人员可以开发所有HTML,并通过对后端代码进行javascript调用来填充。
我建议你以JSON格式将代码提交回javascript。 Javascript可以很好地处理JSON数据结构,然后可以使用这些数据构建要注入DOM的HTML。
答案 2 :(得分:1)
我希望我对这个问题不会太迟。 我已经做了一个基于HTML / Javascript(JQuery)的站点--AJAX - PHP,我的网站没有SEO问题,例如,谷歌关键词排名第3:免费餐厅预订。此外,Google已经提出了几种使用Javascript的方法,例如:隐藏的文字。
(我对这个问题的看法,如果我错了,请纠正我) 好: 1.更接近MVP模型; 2.结构清晰:前端用户界面,服务器端PHP / MySQL,AJAX交换数据; 3. MVP模型易于更改代码; 4.性能:2个文件的加载速度要比大文件快,前端用于数据输入和验证,服务器端用于数据处理
为: 1. Javascript可能被禁用(美国:2.06%,英国:1.29%,法国:1.46%,西班牙:1.28%,巴西:0.26%)(http://developer.yahoo.com/blogs/ydn/many-users-javascript-disabled-14121.html) 2.额外编码:JSON / JSONP,AJAX,处理PHP和Javascript中的数组。
最后,我认为“我的一般方法是服务器端,然后是客户端。”由Madara Uchiha提出的可能是更多的练习,例如,它是wordpress正在使用的。