javascript - 跪求大神: 前后端如何配合最好
产出动态有数据的php,jsp页面,前端与后端的打包发布完全独立。
这种的好处是前端层的表现,数据完全由前端把控,
有什么问题可以由前端独立解决,并单独打包发布。
前端与后端的打包发布完全独立。这局话的意思和理解
回复内容:
产出动态有数据的php,jsp页面,前端与后端的打包发布完全独立。
这种的好处是前端层的表现,数据完全由前端把控,
有什么问题可以由前端独立解决,并单独打包发布。
前端与后端的打包发布完全独立。这局话的意思和理解
前后端分离,前端工程化,前端与后端交互全部通过api,你或许觉得这样对seo不好,但是现在有nodejs,这样的话页面渲染可以交给前端去做,实际上这也是趋势,后端应该去关心系统可用性,性能等问题,不应该关注页面问题,这部分应该交给前端去做
这篇博客应该可以帮到你Web前后端分离开发思路 by livoras
首先得确定通讯协议以及通讯参数。
前端独立作业可以使用mock等工具模拟后台数据传输。
后端设计使用数据模型完成业务,生成接口。
个人认为就是类似于把php中的模版引擎等视图业务从项目中剥离出来形成独立的前端版本?
前后端通过 API 交互。不论使用 web 前端,还是 ios 安卓客户端,都可以。
后端尽量使用相同的API满足前端多个页面甚至不同前端的需求,这才是最好的。前端需要知道后端返回了什么数据,根据设计图应该如何渲染出来就可以了。
我前阵子写了篇前端用ionic、cordova 后端用CoreThink开发非原生APP的步骤http://www.oschina.net/question/2598464_2151690?fromerr=mCRfZH2m你可以看看
简单的说,通过数据接口(比如:ajax请求)将前后端分离。
反面案例
去年接手了一个半成型web项目:后台php语言开发的。不看代码不知道,一看代码,我晕了。代码基本如下:
<?php ... echo val; ?> <html> <?php echo ...?> </html>
整个php文件中包含着html的味道。细节不多说了,你们应该懂得。除了css文件外,我吐了。深深的伤了强迫症的心。语言还可以这么使用。我再次觉得我选择错了道路。本以为代码的世界可以规整一些,看来我错了。
后来想了想,这样开发的,可能是一个人把前后端都囊括了,也够辛苦的。不过,这样混合开发的模式,还真有一个优点,成本少,效率高。缺点一大堆,扩展和后期维护都成问题。
正面案例
还是去年,同样接手一个web项目。主要需求:显示后台数据库表中的内容,说白了,就是模仿mysql的web控制。不过是简单的。但是有要求:模型化,即后台通过修改少量的参数,就可以控制前端显示的表的个数,甚至表的列名。也就说,前端有关表的一切信息都是由后端提供。前端只要根据后端的数据,对界面做显示性的调整即可。
设计思路:
1.有关表的样式和鼠标对于表格的动态操作,作为前端模块部分;
2.表的表名信息和列表信息由ajax请求服务器返回json,本地对json稍加验证,即可动态创建本地表;
3.数据的获取,同样适用ajax获取。然后填充本地表;
4.本地对于数据的增删改,通通通过ajax上传到服务器;
唯一的磨合点,就在ajax接口上面。开发的时候,由于后端缓慢,有些接口传递到前端的就是直接echo
出来的假数据。
前后端分离优点
通过数据接口模式的开发,前后端完全分离,而且这个项目因为是模型化设计,所以代码重用度非常高。
而且,出现问题,通过检测数据接口的数据,很容易知道是前端的问题还是后台的问题。十分的便于维护,甚至深度的二次开发。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

HTML5带来了五个关键改进:1.语义化标签提升了代码清晰度和SEO效果;2.多媒体支持简化了视频和音频嵌入;3.表单增强简化了验证;4.离线与本地存储提高了用户体验;5.画布与图形功能增强了网页的可视化效果。

MySQL函数可用于数据处理和计算。1.基本用法包括字符串处理、日期计算和数学运算。2.高级用法涉及结合多个函数实现复杂操作。3.性能优化需避免在WHERE子句中使用函数,并使用GROUPBY和临时表。

在MySQL中配置字符集和排序规则的方法包括:1.设置服务器级别的字符集和排序规则:SETNAMES'utf8';SETCHARACTERSETutf8;SETCOLLATION_CONNECTION='utf8_general_ci';2.创建使用特定字符集和排序规则的数据库:CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci;3.创建表时指定字符集和排序规则:CREATETABLEexample_table(idINT

在Java中编写平台特定代码的原因包括访问特定操作系统功能、与特定硬件交互和优化性能。1)使用JNA或JNI访问Windows注册表;2)通过JNI与Linux特定硬件驱动程序交互;3)通过JNI使用Metal优化macOS上的游戏性能。尽管如此,编写平台特定代码会影响代码的可移植性、增加复杂性、可能带来性能开销和安全风险。
