当前Web架构的资源/说明&;跨越堆栈的技术?

当前Web架构的资源/说明&;跨越堆栈的技术?,web,architecture,lamp,mean-stack,Web,Architecture,Lamp,Mean Stack,我正在构建一个新的web应用程序,但我觉得在构建它之前,我没有我希望拥有的全局表示,因此我正在寻找资源,以便在整个堆栈中真正理解整个web 我从2006年开始自学成才,但我在2010年大学期间休息了很长时间,在2014年完成了学业,然后出来了,整个网络的图景都改变了 我熟悉LAMP架构,那时只要你理解PHP、JavaScript、JQuery、MySQL、HTML和CSS,你就可以了;现在MEAN制造了很多噪音,我只是看了一下Facebook是用什么构建的,它谈到了HipHop,这是我以前从未听

我正在构建一个新的web应用程序,但我觉得在构建它之前,我没有我希望拥有的全局表示,因此我正在寻找资源,以便在整个堆栈中真正理解整个web

我从2006年开始自学成才,但我在2010年大学期间休息了很长时间,在2014年完成了学业,然后出来了,整个网络的图景都改变了

我熟悉LAMP架构,那时只要你理解PHP、JavaScript、JQuery、MySQL、HTML和CSS,你就可以了;现在MEAN制造了很多噪音,我只是看了一下Facebook是用什么构建的,它谈到了HipHop,这是我以前从未听说过的,我对每隔一周出现的框架和语言感到非常失落

我基本上是在寻找资源来了解整个网络,而不仅仅是创建网页,这样我就可以对将来构建这个和任何其他web应用做出明智的决定。我想知道所有这些新技术是如何融入这幅画面的


谢谢

重要的是,您需要一个数据库,一个与该数据库对话的数据访问层,一个路由请求的东西,以及一个向页面显示结果的东西

有很多框架/技术。在我看来,灯塔有点老派。并不是说它不适合使用,只是有更快、更好、更容易的堆栈

在开发语言和框架方面,我想看看

Ruby on rails, Spring boot(使用MVC、JPA、freemarker+mysql), ASP.NET5

对于数据库,mysql总是非常流行,因为它是免费的。H2是一个免费的内存数据库,我认为它是一个很好的数据库,可以快速启动和运行

目前,数据访问通常是通过某种“对象关系映射器”框架完成的,如Hibernate(如果ur使用Java)、Linq(如果ur使用ASP.NET)或RubyonRails使用的任何东西

对于查看技术html,css显然是标准的,但最近Bootstrap3作为前端UI框架非常流行,使事情变得更加简单。就Javascript而言,jQuery现在基本上是一种事实上的标准。类似Knockout.js或Angular.js的东西在模型和视图之间提供了很好的数据绑定,使事情变得更简单

更不用说作为一个额外的层,现在人们也把他们的应用程序放在Docker容器中,并以这种方式部署它们,以实现最大的可移植性。因此,这是一个全新的东西,如果你已经离开游戏一段时间,你将不会看到


无论如何,我最喜欢的是spring boot stack。它有一个TomcatWeb服务器的嵌入式实例,并且完全是自动配置的

我认为影响当前web开发过程的主要变化与基于云的服务有关,如Amazon AWS、Google cloud、Microsoft Azure和虚拟专用服务器(VPS)

现在,规划和开发一个分布式环境以获得大量用户,成本更低,而且是可能的。服务器正在调整其技术以适应这一新场景,并通过RESTAPI(如Google、Facebook、Soundcloud和几乎所有其他服务提供商)为移动客户端提供简单的WebService端点,使用JSON在服务器和客户端之间进行小数据传输

这是目前和不久的将来的web开发。我们再也不能对手机视而不见了。第一个移动时代即将到来

您可以使用LAMP stack进行Web开发,无论是否使用zend、cakephp等框架,但最终产品将是一个REST或RESTfull服务提供商和一个客户机来使用这些服务,并与许多第三方(如Google、Yahoo、Facebook、Amazon服务)集成以构建现代应用程序

至于数据库,现在有分布式的非关系型noSQL hadoop、mongodb和mariadb,它们提供了更多的选项来规划强健的基础设施和灵活的ajustable以满足所有需求

创建一个伟大的网络平台需要了解所有这些工具和可能性的存在,但只专注和深入学习您将选择开发的工具,因为这是一种强制性的学习,我们的大脑无法处理:)所有这些都需要在这一领域快速更新

选择正确的一个是困难的,有很多选择,但主要的概念将永远是一样的,将有一个供应商和消费者前线,分布式或非分布式,以及一个涉及UI、集成、业务和数据(大数据)操作的多层次开发。但现在在云端

你可以找到Php、amazon Web服务、非SQL数据库、常见的第三方API(如Google Apps、Facebook、REST Client end framework、JSON等)的好官方资料,还有很多好的替代来源……在Github上获得一些开源项目示例(GIT是另一个必须学习的工具)

我现在特别用Java开发,Linux/MySQL/Tomcat在amazon AWS基础架构上,使用Java JSP开发服务器和web客户端,Java开发Android。我只需要处理Java环境和一种用于服务器(web服务器等程序)和客户端(web和移动)开发的语言

嗯,我希望我能帮上忙,我不知道这是否是正确的答案,如果我说清楚了,因为我的英语是基础的

祝你周末愉快

狮子座