我几年来一直是Java/J2EE开发人员,不幸的是,由于我日常工作和公司的背景,最近我没有学到那么多东西.
这就是为什么我决定解决我自己的个人项目,该项目将具有以下细节/特征(第一个是最优先的)
登录用户的Web应用程序
需要从第三方API检索信息(想想Twitter,Facebook,Pinterest ......)
许多并发访问同一功能(API信息检索)的同时
可通过Web访问,最终通过Mobile访问
Cron/Quartz定期(每晚?)通过电子邮件向用户发送更新的信息
带有实时信息的仪表板
当事情发生时通过电子邮件或网络发布通知(新的Twitter粉丝......)
我的知识如下:
Java/J2EE带有一点Spring/Hibernate,安静了很多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堆栈是否也可以处理所有管理/登录功能?
假装我可以学习MEAN堆栈(目前)对Javascript的有限知识,这是不是很疯狂?当然是学习它......我知道学习曲线会很安静,但我已经准备好了.
有没有一种简单的方法将Node.js与Java代码集成?有人试过吗?例如,我想利用Node.js的非阻塞功能,但是例如调用Java方法来访问第三方API.
提前感谢您的建议.
尼古拉斯.
这将是一项艰巨的任务.这不是好事或坏事,只是一个声明:)
你提到了很多技术,每个技术都会有一些学习曲线.刚刚看了美国忍者武士,你正在学习曲线听起来很像翘曲的墙!不要气馁,准备从小做起,你就行了.
你需要涵盖的三件大事是:
的NodeJS
MongoDB的
AngularJS
的NodeJS
网上有很多教程,你需要学习Javascript以及NodeJS服务器上的含义.Javascript的异步特性看起来与Java非常不同(我知道,这也是我的过渡).我喜欢的教程:Mixu的Node Book 我喜欢的电子书:Node Beginner
MongoDB的
我自己也在研究这个问题,但是MongoDB与关系型SQL数据库不同.你也需要在这里有所不同.很多关于MongoDB的教程.
但是,我会说可以将NodeJS与SQL结合起来.如果你这样做是为了学习,你可以立刻转动所有的旋钮.如果你想看到有效的东西,你可以像往常一样使用数据库.我喜欢在使用SQL数据库时使用knexJS.这很棒.
AngularJS
Angular是一个庞大的框架.人们喜欢它.一旦你知道它就易于使用.我读过它很容易上手,然后更难掌握.尝试解决这个问题的路径很多,这里有我预订的链接:在周末学习AngularJS
也就是说,你不需要在app中使用Angular.一些框架可能支持它,并将它们的NodeJS后端基于Angular前端,但您可以使用现有的前端技能(甚至,喘气!,jQuery)来使您的网页驱动您的后端服务器.
我对你提出的其他问题的看法
假装我将以不同的方式处理引擎部分和管理部分,这是不是很疯狂?
你可以将两者分开,但如果这只是为了学习,那就做一切.MongoDB当然可以处理您的管理内容.
MEAN堆栈是否也可以处理所有管理/登录功能?
是的.有些框架也将这些框架作为默认包.
假装我可以学习MEAN堆栈(目前)对Javascript的有限知识,这是不是很疯狂?当然是学习它......我知道学习曲线会很安静,但我已经准备好了.
这并不疯狂,但学习曲线非常大.考虑到应用程序/目标将是您的良好驱动力.此外,不要试图第一次完美地完成所有事情.找一个看起来很不错的NPM包,使用它,继续前进.现在不要担心所有细节.在您的下一个应用程序上执行此操作,或者在您具有功能基准之后执
有没有一种简单的方法将Node.js与Java代码集成?有人试过吗?例如,我想利用Node.js的非阻塞功能,但是例如调用Java方法来访问第三方API.
当然,Java客户端可以调用NodeJS服务器.如果您创建了NodeJS API服务器,则可以编写Java客户端来测试它.你甚至可以从NodeJS到Java代码做其他疯狂的事情,但我建议暂时留下Java.对于很多网络内容(HTTP请求等),我认为你会惊喜地发现在NodeJS中做一些事情,你需要为Java中的等价物做些什么.