与MEAN堆栈和Java的Web应用程序
我几年来一直是Java / J2EE开发人员,不幸的是,由于我的日常工作和公司的背景,最近我还没有学到很多东西。
这就是为什么我决定处理我自己的个人项目,这将有以下细节/function(第一个是最优先的)
- login用户的Web应用程序
- 需要从第三方API检索信息(想想Twitter,Facebook,Pinterest …)
- 许多并发访问相同的function(API信息检索)在同一时间
- 通过networking访问,最终通过手机访问
- 克朗/石英定期(每晚?)通过电子邮件发送用户更新的信息
- 带有实时信息的仪表板
- 发生事情时通过电子邮件或networking发送通知(新的Twitter追随者…)
我的知识如下:
- 用Spring / Hibernate有点Java / J2EE,安静了很多Maven / Ibatis
- 部署在Tomcat / JBoss上
- HTML,CSS和Javascript,基本。 足够执行基本的东西,但不足以build立一个响应和shiny的networking,例如
我的软技能:
- 我想学习新技术
- 我需要学习新技术(更新我的简历)
在读了许多关于技术的安静之后,我想到了以下几点:
- 对于引擎部分(即从第三方检索信息,显示在networking和手机,每天晚上发送电子邮件…),我正在考虑一个完整的平均堆栈(我更more.mount.js尽pipemean.io看起来比较成熟),比如MongoDB + Express.js + AngularJS + Node.js
- 对于pipe理部分(新用户创build,loginpipe理):Java + Spring / Hibernate +普通MySQL + AngularJS
- 使用Apache + Tomcat作为pipe理部分的Amazon EC2实例
你怎么看+一些问题:
- 假装我会以不同的方式处理引擎部分和行政部分,这是疯狂的吗?
- MEAN堆栈还可以处理所有的pipe理/loginfunction吗?
- 假装我可以用Javascript(目前)有限的知识来学习MEAN堆栈是否疯狂? 当然,要学习它…我知道这里将会有一个安静的学习曲线,但是我已经准备好了。
- 有没有一种简单的方法来整合Node.js和Java代码? 有人试过吗? 例如,我想利用Node.js的非阻塞function,但是例如调用Java方法来访问第三方API。
预先感谢您的build议。
尼古拉斯。
这将是一个巨大的事业。 这不好或不好,只是一个声明:)
有很多你提到的技术,每一个都会有一些学习曲线。 刚刚看了美国忍者战士昨晚,你正在学习曲线听起来很像“翘曲的墙”! 不要气馁,准备开始小,你会没事的。
你将不得不覆盖的三大块是:
- 的NodeJS
- MongoDB的
- AngularJS
的NodeJS
网上有很多教程,你需要学习Javascript以及在NodeJS服务器上的含义。 Javascript的asynchronous特性与Java看起来非常不同(我知道,那也是我的转换)。 我喜欢的教程: Mixu的Node Book我喜欢的电子书: Node Beginner
MongoDB的
我自己还在研究这个,但是MongoDB不同于关系型SQL数据库。 你也需要在这里思考一下。 大量的教程在那里为MongoDB。
不过,我会说可以把NodeJS和SQL结合起来。 如果你这样学习,你可以一次转动所有的旋钮。 如果你想看到有用的东西,你可以像平常一样使用数据库。 在使用SQL数据库时,我喜欢使用knexJS 。 这很棒。
AngularJS
Angular是一个巨大的框架。 人们喜欢它。 一旦你知道它易于使用。 我读过它容易上手,然后更难掌握。 很多尝试和解决这个问题的途径,这里有一个我写的书的链接: 周末学习AngularJS
这就是说,你不需要在你的应用程序中使用Angular。 一些框架可能支持它,并且将它们的NodeJS后端基于Angular前端,但是您可以使用现有的前端技术(甚至是gasp! ,jQuery)来使您的网页驱动您的后端服务器。
我对你提出的其他问题的想法
- 假装我会以不同的方式处理引擎部分和行政部分,这是疯狂的吗?
你们可以把两者分开,但是如果这只是为了学习,就把所有的东西都放在一起。 MongoDB当然可以处理你的pipe理的东西。
- MEAN堆栈还可以处理所有的pipe理/loginfunction吗?
是的。 一些框架也将其作为默认软件包。
- 假装我可以用Javascript(目前)有限的知识来学习MEAN堆栈是否疯狂? 当然,要学习它…我知道这里将会有一个安静的学习曲线,但是我已经准备好了。
这并不疯狂,但学习曲线相当大。 考虑一个应用程序/目标将是你的好驱动。 另外,不要试图在第一次完成任何事情。 find一个看起来不错的NPM包,使用它,然后继续。 现在不要担心所有的细节。 在您的下一个应用程序上执行此操作,或者在您有function基准后执
- 有没有一种简单的方法来整合Node.js和Java代码? 有人试过吗? 例如,我想利用Node.js的非阻塞function,但是例如调用Java方法来访问第三方API。
当然,一个Java客户端可以调用一个NodeJS服务器。 如果你创build了一个NodeJS API服务器,你可以编写一个Java客户端来testing它。 你甚至可以做从NodeJS到Java代码的其他疯狂的事情 ,但我build议现在留下Java。 对于很多networking资料(HTTP请求等),我想你会惊喜地发现,在NodeJS中做一些事情需要做的是什么,你需要在Java中做一个等价的事情。