客户端是指开发面向客户的程序,分很多平台,比如Windows 安卓 苹果,还有游戏客户端也算一类。
前端指的是通过浏览器和用户交互的那部分。
后端是在服务器上跑的,一般是管理数据,为前端 客户端提供数据传输的。
服务器端就是后端。
服务端各种安全机制,比如身份验证,这一条的情况在于,有的前端做身份验证就是调用一下接口,获取到类似token字段,自己也不知道是什么意思,就乱丢乱用等。
本质上来说,前端是做不了什么安全措施的,但是,相应的拦截和安全还是要做,因为可以帮后端挡掉很多低质量攻击以及前端自身的用户体验。
客户端是默认支持json的,后端是需要处理的。这点可以引申到,前后端各自传递的数据格式问题。有些前端 null undefined 空串分不清楚,到了后端就各种问题。
这里涉及到一个概念,就是d性伸缩。
俗话说计划不如变化快,特别是互联网行业,市场形势瞬息万变。
如果服务器容量规划和实际情况不符,可能会出现这样的情况:
可能雄心勃勃的开发了一个业务,对市场充满期待,买了一堆机器,上线后发现不温不火,服务器严重低负载,烧的都是钱啊。
相反可能一个创新的点子,本来没抱多大希望,上线后突然火了,请求量暴增,而此时你的服务器满负荷,采购扩容都来不及,导致业务一定时期不可用,让竞争对手抢占了先机。
所以服务器必须具备d性伸缩的能力,一方面应对增长的用户量场景,一方面节约相应的成本。
服务器d性伸缩的能力需要是在各个环节都要满足,包括前端的入口,负载均衡,后端的服务,底层的数据库都要有能力做到d性伸缩。
d性伸缩的含义就是在可以根据请求量的变化自动的计算资源容量,快速容易的增加机器和减少机器,甚至于更改机器的配置。
一般公司是很难做到这一点的,这涉及到主机的cpu,磁盘的虚拟化,对系统资源的容器化,对网络带宽的管理等等方方面面。对于一个小公司而言做这些事情代价是很高的。
所以公有云服务提供商出现了,他们就是专业做这个事情的,彻底托管屏蔽业务底层依赖的硬件和基础软件资源。从负载均衡,主机硬件资源,网络带宽,数据库,搜索引擎,安全防护一条龙服务。这样企业不用过多的考虑服务器资源方面的规划,一切资源可以随时增加和释放,非常方便。
对于初创公司,一般业务公司来说上云是个很不错的选择。目前比较成熟的云服务提供商包括:亚马逊AWS,微软Azure,阿里云,腾讯云,华为云等。
以上是我的建议,望采纳。
一、前端开发
前端开发主要涉及网站和App,用户能够从浏览器上或App屏幕上看到的东西。简单地说,能够从浏览器上或App屏幕看到的东西都属于前端。
1、技能与工具
前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库:
三大语言:HTML,CSS,和Javascript;
此外,掌握jQuery和LESS等工具库也很重要,它们能帮助开发者以更高效的方式编码;
很多前端开发岗也要求Ajax方法的使用经验,它可以帮助你使用Javascript在后台从服务器拉取数据,协助实现页面的动态加载。
使用这些技术,前端开发者能连接起网站设计者和后端开发者之间的桥梁。他们能提供用户体验方面的分析,构建模型和线框,给设计团队提出建议。他们能给后端编写的服务应用赋予生命,提升格调,营造美感。
二、后端开发
后端开发即“服务器端”开发,主要涉及软件系统”后端“的东西。比如,用于托管网站和App数据的服务器、放置在后端服务器与浏览器及App之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。
1、技能与工具
为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:
用于应用构建的服务器端语言:PHP,Ruby,Python,Java,Net等;
数据相关工具:MySQL,Oracle,SQLServer等;
PHP框架:Zend,Symfony,CakePHP等;
版本控制工具:SVN,CVS,Git等;
还要熟练使用Linux作为开发和部署环境。
后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新Web应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)