我已经是Java/J2EE开发人员了几年了,不幸的是,由于我的日常工作和公司的背景,最近我没有学到太多。

这就是为什么我决定处理自己的个人项目的原因,该项目将具有以下详细信息/功能(第一个是最优先的)

  • 用于登录用户的Web应用程序
  • 需要从第三方API(例如Twitter,Facebook,Pinterest ...)检索信息
  • 多个同时访问同一功能(API信息检索)
  • 可通过Web访问,最终可通过移动设备访问
  • Cron/Quartz定期(每晚?)通过电子邮件向用户发送其更新的信息
  • 具有实时信息的仪表板
  • 发生事件时通过电子邮件或网络通知(新的Twitter关注者...)

  • 我的知识如下:
  • 带有Spring/Hibernate的Java/J2EE,使Maven/Ibatis安静了许多
  • 部署在Tomcat/JBoss上
  • 基本的HTML,CSS和Javascript。足以执行基本任务,但不足以构建响应式且有光泽的网站,例如

  • 我的软技能:
  • 我想学习新技术
  • 我需要学习新技术(更新我的简历)

  • 在静静地阅读了许多可用技术之后,我想到了以下几点:
  • 作为引擎部分(例如,从第三方检索信息,在网络上和移动设备上显示它,每晚发送电子邮件...),我一直在考虑完整的MEAN堆栈(我更倾向于Mean.js,甚至虽然mean.io看起来更成熟了),例如MongoDB + Express.js + AngularJS + Node.js
  • 管理部分的
  • (新用户创建,登录管理):Java + Spring/Hibernate +常规MySQL + AngularJS
  • 管理部分
  • 的Apache + Tomcat的Amazon EC2实例

    您如何看待+一些问题:
  • 假装我将以另一种方式处理引擎部分和管理部分是否疯狂?
  • MEAN堆栈还可以处理所有管理/登录功能吗?
  • 假装我可以(现在)具有一定的Javascript知识来学习MEAN堆栈,这太疯狂了吗?当然,重点是要学习...我知道学习曲线会很安静,但是我已经做好了准备。
  • 是否有一种简单的方法可以将Node.js与Java代码集成在一起?有人尝试过吗?例如,我想利用Node.js的非阻塞功能,但是例如调用Java方法来访问第三方API。

  • 预先感谢您的建议。

    尼古拉斯

    最佳答案

    这将是一项艰巨的任务。那不是好是坏,只是声明:)

    您提到的技术很多,每种技术都有一点学习曲线。昨晚刚刚看过《美国忍者战士》,您正在学习曲线听起来很像《扭曲的墙》!不要灰心,准备从小处着手,一切都会好起来的。

    您必须涵盖的三大部分是:

  • NodeJS
  • MongoDB
  • AngularJS

  • NodeJS

    在线上有很多教程,您将需要学习Javascript以及在NodeJS服务器上的含义。 Javascript的异步性质看起来将与Java完全不同(我也知道,这也是我的过渡)。
    我喜欢的教程:Mixu's Node Book
    我喜欢的电子书:Node Beginner

    MongoDB

    我本人仍在进行此工作,但是MongoDB与关系SQL数据库不同。您在这里也需要有所不同。有关MongoDB的大量教程。

    但是,我会说可以将NodeJS与SQL结合使用。如果您要学习此功能,则可以一次转动所有旋钮。如果您希望看到某些功能正常工作,则可以像平常一样使用数据库。我喜欢在使用SQL数据库时使用knexJS。这很棒。

    AngularJS

    Angular是一个巨大的框架。人们喜欢它。一旦知道就易于使用。我读过它很容易上手,然后又很难掌握。有很多方法可以解决这个问题,这是我已标记为链接的链接:Learn AngularJS in a Weekend

    也就是说,您无需在应用程序中使用Angular。某些框架可能会支持它,并将它们的NodeJS后端基于Angular前端,但是您可以使用现有的前端技能(甚至是gasp!,jQuery)来使您的网页驱动后端服务器。

    我对您提出的其他问题的想法
  • 假装我将以另一种方式处理引擎部分和管理部分是否疯狂?

  • 您可以将两者分开,但是如果这只是为了学习,则将所有内容合而为一。 MongoDB当然可以处理您的管理工作。
  • MEAN堆栈还可以处理所有管理/登录功能吗?

  • 是的。一些框架也将其作为默认软件包。
  • 假装我可以(现在)具有一定的Javascript知识来学习MEAN堆栈,这太疯狂了吗?当然,重点是要学习...我知道学习曲线会很安静,但是我已经做好了准备。

  • 这并不疯狂,但是学习曲线却很大。牢记应用程序/目标将是您的理想动力。另外,不要在第一时间尝试完美地完成所有工作。找到一个看起来不错的NPM软件包,使用它,然后继续。现在不用担心所有细节。在您的下一个应用程序上,或者一旦有了功能基线,就可以执行此操作。
  • 是否有一种简单的方法可以将Node.js与Java代码集成在一起?有人尝试过吗?例如,我想利用Node.js的非阻塞功能,但是例如调用Java方法来访问第三方API。

  • 当然,Java客户端可以调用NodeJS服务器。如果创建了NodeJS API服务器,则可以编写Java客户端对其进行测试。您甚至可以执行other crazy things from NodeJS to Java code,但是我建议暂时不要使用Java。对于许多Web东西(HTTP请求等),我想您会惊喜地发现,在NodeJS中完成与Java相当的工作所需要的速度有多快。

    关于java - 带有MEAN堆栈和Java的Webapp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25270372/

    10-10 01:04