I really miss the newer functions of a modern Eclipse implementation. Things like cool plugins such as Checkstyle, auto-javadoc, ease of JUnit testing.
I always did this whilst developing Notes Java Agents, and it was a great time saver.
I'm trying to do this with my new XPages project but I'm stumbling on how to include diverse OSGI libraries.
Can anyone help?
The quickest way to set up an Eclipse environment for XPages development is the XPages SDK. That should point to your Notes/Domino installations and create the Target Platform stuff for you. If you have additional libraries, you can either install them into Eclipse via the Help -> Install New Software option or add them to the Target Platform in Preferences -> Plug-in Development -> Target Platform.
There's a huge caveat, though: this sort of XPages development refers to library development specifically, not writing XPages applications. There isn't really currently a good way to do actual-XPages dev in Eclipse without losing tooling.
In addition to Jesse's answer: a colleague uses Eclipse only to develop in our XPages stuff - for the Java part only. We all use a local on-disk-version of the project that can be imported into Eclipse workspace. You then can use the editors and benefits of current Eclipse versions. Caveat also: you always have to refresh/sync the sources from your on-disk-project in DDE to test. Regarding JUnit tests: we also use them and doing even automated build-tests on a Jenskins server with that method
I'm pretty new to Java and I'm just starting to venture into the UI world of it.
I've looked at what framework and tools to use.
My goals are:
Try to avoid implementing too much low level stuff through using an
existing framework.
Use portable libraries (I heard that not all libraries are made equal)
As for everything I do, I start with a lot of documentation and research and right now my choice is landing on javaFX and miglayout.
I develop with Linux Ubuntu (currently 13.04) but my user base will be a mix of windows and Ubuntu and maybe some MAC users.
I wanted to know from people with way more experience, their pain points while developing with javaFX2 and migLayout when it comes to portability to other OS.
I have found this thread:
How portable is JavaFX 2?
But the answer I'm looking for is not: it works in "X" but rather. To make it work in "X" and "Y". "a", "b" and "c" will have to be taken care of. handling "z" is hard because etc...
Thanks.
All you need is properly installed JDK, And with a little help from your preferred IDE you will get almost a complete portable working environment ).
Using Netbeans will hide the complexity behind generating a runnable jar file, for serious project using a dependency manager will be a must , both Gradle and Maven have good JavaFX plugin for build automation (by using Maven, you can clone my Github repository and start working immediately whatever the OS you're running),for more about JavaFX and Java SE integration see this answer from a OpenJDK contributor.
javaFX2 miglayout portability
Miglayout has a JavaFX plugin all you need is to add miglayout-javafx.jar and the miglayout-core.jar to your CLASSPATH, so there is no portability issues with MigLayout.
MigLayout is a real powerful layout manager (especially when it comes to Swing), but I prefer going the idiomatic way of building JavaFX user interfaces (essentially, enterprise and data-driven applications) by using fxml and scenebuilder.
more resources :
GUI Architectures,by Martin Fowler
JavaFX community website
The FX Experience blog
Today, our Enterprise Architect mentioned that a recent vulnerability was discovered in the JRE 1.7. I found an article the JRE 1.7 vulnerability recommending disabling Java.
I am running JDK 1.5 and 1.6 at work (like many organizations, we're not on the latest of technologies), so no problems there.
At home I am doing development with Java SE 7u6. I'm playing with Grails, Spring Security, trying to keep learning.
I have already gone and disabled the Java Plug-in in all my browsers on my home development machine. However, does anyone know if my home dev machine is still vulnerable by virtue of having the JDK 7 installed? I did find this article on US-CERT declaring the vulnerability notice: Oracle Java JRE 1.7 Expression.execute() fails to restrict access to privileged code.
It sounded like as long as the browser is not able to run Applets, I should be fine (it should not with the Java Plug-in disabled). However, what about Java Web Start/JNLP? Could that get invoked? That's the only other thing I could think of, other than Applets, that might be of concern.
Just wondering if I need to go through the efforts of uninstalling my Java SE 7 and dropping back to a JDK6.
What have others done upon learning of this security issue with JRE 1.7?
The details of the latest vulnerability have not been made public. However, my understanding is that it only affects Java browser plugins. The recommended mitigation is to disable the Java browser plugins. No mention is made of non-plugin Java, so I think it is safe to assume that your dev machine is not vulnerable simply by virtue of having Java 7 installed.
However, what about Java Web Start/JNLP? Could that get invoked?
I don't think so. I think it is safe to assume that the people who found the problem would have thought of that potential attack vector. (But simple common sense says that you wouldn't want to be launching random JNLP programs in the first place ...)
I understand it as if you have to visit a malicious site to become infected. So no, you are not at risk simply by virtue of having Java 7 installed in your browser.
Some useful links:
US-CERT link which explains the vulnerability:
http://www.kb.cert.org/vuls/id/636312
Oracle link to their Security Alerts (not just Java, but also including Java):
http://www.oracle.com/technetwork/topics/security/alerts-086861.html
As of writing (30 Aug 2012) I cannot see that Oracle has yet issued an alert for this. I can't really figure out if they only issue such alerts AFTER a patch has been created. According to US-CERT site Oracle was officially alerted on 29 Aug 2012 but they may already have known about it because blog reports about the vulnerability started a few days before the 29th.
What you can read on the Oracle site is that the next planned "Java SE Critical Patch Update" is on 16 October 2012. Surely they won't wait for that but release an out-of-band patch for this vulnerability asap. (they've done so before)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am going to start building project in node.js (was working in PHP before), What is the IDE, Debugger and Helping Tools for node.js, to help improvement while coding ?
There are several IDEs which support Node.js natively:
Desktop-based IDEs
WebStorm - popular and extremely powerful IDE for coding web applications. $100 for commercial license, $50 personal, $25 academic, free for open source developers upon application approval. Can also debug Meteor.JS applications.
Komodo IDE
Cloud9 Local - You can install a local copy of cloud9 on desktop as well and work on a local directory as workspace, follow the instructions on github page. Be sure to disable incompatible plug-ins from config. It provides proper debugging as well.
Cloud-based IDEs
Cloud9 IDE - cloud-based IDE with native support for development of Node.js applications including debugging and other features.
Koding Koding offers you a free rootable VM with Node. Also you can work on the same code with your friends.
Other than these two you can use almost any code editor/IDE which simplifies JavaScript based development in general (for example with syntax highlighting, autocompletion or similar stuff) and use node with its built-in V8 debugger.
Microsoft just launch a cross platform IDE "Visual Studio Code" in Windows, Ubuntu and MacOSX. It could debug node.js. Check detail here.
Koding is another good choice. It comes preinstalled with Node.js, Vim and Emacs, has a great community of developers, among many other things. Another few notable features are:
Free virtual machine (VM) with Ubuntu, root access, apt-get, and many commonly used tools
Built-in Terminal with 256-color support
All languages, databases, and command-line tools are supported
Various file upload options such as Drag & Drop, Dropbox, Clone from Github, FTP and the ability to access them using SSH
Real-time code and terminal collaboration with integrated chat abilities
Visual Studio now supports full dev lifecycle for Node.js if you install the Node.js tools, linked below.
Allows for full debugging, intellisense, color coding, and more.
https://nodejstools.codeplex.com/
vim and unix are your IDE.
If you want debugging then there is node debug foo.js or ndb or node-inspector or use the V8 Debugger.
Another option could be Netbeans with the NodeJS tools (even though I'm not using it anymore these days since I've been using JetBrains products now to be honest).
What it gives you:
A Node project type
Clickable stack traces in the output window
A run with node action on Javascript files (and of course, the project)
Integration with Node Package Manager (npm) and a slick little UI for adding libraries
GUI for editing package.json files, and generating their standard contents
Ability to store machine-specific command-line arguments (excluded from version control if you use NetBeans' version control).
Ability to download Node's sources so the highlighted stack traces point somewhere
http://timboudreau.com/blog/read/NetBeans_Tools_for_Node_js
Also NetBeans 8.1 and 8.2 seem to have brought some features for Node.js developers (see here and here).
Eclipse is a good IDE for JavaScript.
This page https://portawiki.abnoctus.com/view/NodeIDE.html
details mixing eclipseJS with the google v8 debugger and a few node specific plugins
http://code.abnoctus.com/publish/binaries/node-launcher/
To build an IDE with support for editing JS with syntax highlights and some degree of code completion, executing node from the IDE, debugging in the IDE, unit testing with nodeunit and fetching dependencies via NPM.
I've tested several IDE's to develop and run node apps. But I'm feeling very confortable with Microsoft WebMatrix 2.0. It's a nice lightweight and free IDE that you can run Node. There's some templates for Express framework to get started. And you can run nodejs processes through IIS Express.
Nodeclipse has chromedevtools fixed for Node.js debugging.
Enide Studio 2014 comes with Nodeclipse, JSHint-eclipse, AngularJS and more plugins
(source: nodeclipse.org)
(source: nodeclipse.org)
http://www.nodeclipse.org/enide/studio/2014/
Personally, I'm partial to Cloud9's IDE though they've had a few issues lately with various upgrades, and the growing pains of online systems can be an issue.
WebStorm 4 is another option, though I haven't tried it, I did try the plugin in WS3, which wasn't too bad.
From Microsoft (of all places) there's WebMatrix 2 from Microsoft that seems to support Node.JS pretty well. I have discovered that you can actually edit node based js files within the Visual Studio 2012 beta and get intellisense/autocomplete for node scripts probably from webmatrix's developments. I've been using node as a build step for CSS/JS processing, and it's been working well for me.
Aptana Studio and others seem to be scrambling to add proper node support. Right now options are relatively limited, but getting better.
What framework are you using for the frontend? If you're already familiar with Node, you might as well try the open-source and increasingly popular Meteor.JS framework. Check out MeteorPad for literally a one-click IDE for Meteor apps.
You get a virtual machine with MongoDB on it and the Meteor server. A sample project is already loaded, and you can edit the server and client HTML, JS and CSS files. The resulting app runs in the right pane. Makes playing with Meteor super, super easy.
Node is a relatively new project so there is not widespread IDE support yet. However there actually is an online IDE called Cloud9 IDE that you might want to check out. Otherwise I suggest you use a local editor such as vim or emacs.
See how-to-debug-node-js-applications for more information on debugging.
GitHub's programmable text editor Atom has node.js integration.
Try Microsoft's https://code.visualstudio.com. Its awesome.
Facebook's Nuclide has a number of IDE-esque features including dynamic typechecking (via flow), in-code linking, auto complete, etc. It's based on GitHub's Atom so you can pick and choose Nuclide packages as you see fit.
WebStorm 3.0 does all this stuff.
It auto completes in a smart way, includes nice debugging and unit testing. It also include number of inspection for javascript, which is also pleasant.
Now RC version is available, but JetBrains assure that it'll be released soon.
I use IntelliJ's Webstorm: http://www.jetbrains.com/webstorm for it's advance auto-complete features and Node.js/NodeUnit templates.
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 12 years ago.
I am working on a project for which we have to decide for a language to work on.
Requirements are as follows:
Client should work both as web
browser based and standalone desktop
application.Both will have same
feature.
Gui should be rich in graphics but still light weighted.It should not use much memory for rendering views. Client machine has limitation of memory.
Server would be on unix/linux boxes.Server side code is available in Java.
Client will run on windows machine.
We have swing based client with us.It is not rich and it consumes much memory.There is limitation of memory.Is it possible that we need not to move from swing based application? It can be improved in graphics also.
We are thinking for moving our client code to some other language which can be used with server side code in java.
If still my question is not clear then I will try to update it.
Please suggest.
Thanks,
Abhishek Jain
Hopelessly large question. Using what you know may be the best option.
That said, what I would do is use Mono (I have done it before).
I would use ASP.NET MVC through mod_mono through Apache on Linux for the server side web code and JQuery on the client to provide the sex appeal. I would make sure that I used unobtrusive JavaScript techniques so that it would work well even when JavaScript was not available.
The advantage of using Mono (.NET) is that that you could code both the web stuff and the client stuff in the same language (I would use C#) and use the same back-end and DLLs fro both. For the client GUI you could use WPF if it was going to be windows only or either Windows Forms or GTK# if you want cross-platform. I would probably use GTK# as that would give me the option of running the desktop client on Linux and Mac as well.
ASP.NET MVC is open source and ships (the actual Microsoft code) out of the box in Mono.
If you want to build a smart-phone front-end you could use MonoTouch or MonoDroid and reuse your back-end infrastructure as well.
For tools, you could use either VisualStudio and friends if you are developing on Windows or MonoDevelop as an IDE if you are writing it on Linux. MonoDevelop also allows you to use Subversion or Git for source control and NUnit for unit testing.
For communication with the desktop client, check-out REST as an alternative for providing an API to the desktop client while building the website.
Of course, there are many other options to choose from.
EDIT: I wrote all of this before I knew that the server had been written and that Java had been chosen as the language.
Visual Studio .NET, either VB or C#.
Your question is (too) broad, so just a short recommendation: Adobe Air may be a candidate?
Adobe AIR is a cross-operating system runtime that enables you to use your existing HTML/Ajax, Flex, or Flash web development skills and tools to build and deploy rich Internet applications to the desktop.