【问题标题】:Resources/Explanations on Current Web Architecture & Technologies across the stack?堆栈中当前 Web 架构和技术的资源/说明?
【发布时间】:2016-01-10 17:38:40
【问题描述】:

我正在构建一个新的网络应用程序,但我觉得在构建它之前我没有我希望拥有的全局表示,所以我正在寻找资源来真正理解整个网络作为整个堆栈。

自 2006 年以来,我一直是一名自学成才的 Web 开发人员,但我在 2010 年的大学期间休了很长一段时间,并于 2014 年毕业,然后出来了,Web 的整体情况发生了变化。

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

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

谢谢

【问题讨论】:

    标签: web architecture lamp mean-stack


    【解决方案1】:

    大局是您需要一个数据库、一个与该数据库对话的数据访问层、路由请求的东西以及将结果显示到页面的东西。

    有很多框架/技术。 IMO LAMP 堆栈有点老派。并不是说它不适合目的,只是有比这更快、更好、更简单的堆栈。

    在开发语言和框架方面,我会检查一下

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

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

    现在数据访问通常是通过某种“对象关系映射器”框架完成的,例如 Hibernate(如果您使用 Java)、Linq(如果您使用 ASP.NET)或任何 ruby​​ on rails 使用的。

    对于视图技术 html,css 显然是标准的,但最近 Bootstrap3 作为前端 UI 框架非常流行,它使事情变得更容易。就 Javascript 而言,如今 jQuery 基本上是一个事实上的标准。像 Knockout.js 或 Angular.js 这样的东西在模型和视图之间提供了很好的数据绑定,使事情变得更容易。

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

    无论如何,我最喜欢的是 spring-boot 堆栈。它有一个 Tomcat Web 服务器的嵌入式实例,并且它都是自动配置的。

    【讨论】:

      【解决方案2】:

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

      现在计划和开发分布式环境以实现大量用户更便宜且可能。服务器正在调整他们的技术以适应这种新场景,并通过 REST API(如 Google、Facebook、Soundcloud 和几乎所有其他服务提供商)为移动客户端提供简单的 Web 服务端点,使用 JSON 在服务器和客户端之间传输小数据。

      这是 Web 开发的现在和不久的将来。我们再也不能对移动视而不见了。移动第一时代即将到来。

      您可以使用 LAMP 堆栈进行 Web 开发,有或没有 zend、cakephp 等框架,但最终产品将是一个 REST 或 RESTfull 服务提供者和一个使用服务并与许多 3rdParties(如 Google、Yahoo)集成的客户端、Facebook、Amazon 服务来构建现代应用程序。

      在数据库方面,现在有分布式的非关系型 noSQL hadoop、mongodb、mariadb 带来了更多的选择来规划健壮的基础设施和灵活的可适应所有需求。

      要创建一个出色的网络平台,必须了解所有这些工具和可能性的存在,但只对您将选择开发的工具进行专业化和深入学习,因为不可能学习所有东西,我们的大脑无法处理 :) 和这方面的更新速度似乎都很快。

      选对难,有很多选择,但主要的概念永远是一样的,会有一个provider和consumer的前端,分布式的或非分布式的,一个涉及UI的多层开发,集成、业务和数据(大数据)操纵。但现在在云端。

      您可以找到有关 Php、亚马逊网络服务、非 SQL 数据库、常见的 3rdparty API(如 Google Apps、Facebook...REST 客户端框架、JSON...)的良好官方材料...还有很多不错的替代来源... .在 Github 上获取一些开源项目示例(GIT 是另一个必须学习的工具)。

      我现在特别用 Java 开发,亚马逊 AWS 基础架构上的 Linux/MySQL/Tomcat,服务器和 Web 客户端使用 Java-JSP,Android 使用 Java..我只需要处理 Java 环境和一种语言服务器(网络服务器和 SO 程序)和客户端(网络和移动)开发。

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

      嗯,周末愉快。

      狮子座

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-21
        • 2015-10-02
        • 1970-01-01
        • 2011-11-13
        • 2016-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多