Hi Tim,
+1 for everything you listed
I'll like to add the following items to the list:
1. Grow the Vertx community by making it easy for people to contribute. As you said Vertx is getting quite a bit of traction which is great and exciting but that's not enough. The number one (minor) issue I personally had with Vertx, had to do with the build system. Gradle is certainly great but like a majority of people out there, I'm used to Maven. Let's reuse the tools people are used-to and lets make it dead simple for them to help us improve Vertx. In others words lets migrate the build system from Gradle to Maven, it should only take a couple of hours. It will also help with you second item 'IDE integration' since Maven is nicely integrated with the major IDEs
2. MVC
A lot of people develop web apps. Lets provide a top notch MVC to Vertx. Akka has the Play framework. We need something like it. But not a port of Spring/Struts2/you name it/ to Vertx. A simple yet extremely powerful MVC made especially for Vertx. I recently developed some building blocks of an MVC:
- A brand new template engine, logic-less, type safe that compiles to Java code (using a syntax such as @if(...) @for(...) )
- An xText plugin that reads a file containing routes (similar to the Play framework) and compile them to java code. It takes care of the following:
- It routes the request to the correct controller and bind/convert request parameters to the arguments of the controller method that handles the request.
- It provides a way to create the URL that must be generated from a View (along with the correct parameters).
- The plugin is already integrated in Eclipse and automatically re-compiles the java code each time a route is changed
I may be able to contribute some/all of the code to Vertx. Before i've got to check what the implications are for my company.
All the best,
Stephane
Could you explain, please? Are you talking execution time? I do see that Gradle is faster, but I think we're talking 60s vs 120s with Maven.
I already ported the build to Maven once and I'd jump at the opportunity to do it again. It was easy, and the benefit to others wanting to jump in would be huge. I'm extremely reluctant to develop on the Vert.x core because the Gradle build is a nightmare to comprehend. Maven has its flaws, but it has a huge mindshare and once you learn it once, you know it for all projects. It appears that every Gradle build is the developer's invention, like the Bad Old Days of ant.
Also, the Maven build I created didn't require any environment setup at all. Jython, JRuby,etc were set up as dependencies for the build process. Today you have to download and install them yourself. With the maven build, you clone the repo and run "mvn package" and you're done. No thought required.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
As you know, I'm really interested in this too - partly because I think
it touches a few different problems for vert.x, but partly because it
opens up access to rich ecosystem for enterprise developers.
I've had some success integrating vert.x with spring for dependency injection. Next on my list of experiments is seeing how easily I can add JAX-RS to the mix by integrating jersey.
If I would have a list of things to be officially added they would be:
1. JAX-RS support (jersey integration), I'd even prefer this to standard MVC
2. Some kind of DI by adding guice or spring support.
Cheers,
Christian
(function DemoViewModel() {var that = this;var eb = new vertx.EventBus(window.location.protocol + '//' + window.location.hostname + ':' + window.location.port + '/eventbus');And window.location.protocol work only in a browser, not native using load HTML code -->[Web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To view this discussion on the web, visit https://groups.google.com/d/msg/vertx/-/tkgy0Xgyq_gJ.
To post to this group, send an email to ve...@googlegroups.com.
To unsubscribe from this group, send email to vertx+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/vertx?hl=en-GB.
I like your point 5, projections. I did some reading and found this nice JavaScript based framework called Q:
What about implement a plugable serialization to the eventBus to allow other than JSON?
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To view this discussion on the web, visit https://groups.google.com/d/msg/vertx/-/WYW6zhdtKs0J.
Tim,Have you had time to reconsider upping the priority of moving to Netty 4.0 gopi
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To view this discussion on the web, visit https://groups.google.com/d/msg/vertx/-/2VT0pcitqsUJ.
On 21/11/12 23:31, Fabrice Sznajderman wrote:
Hello,I have a question regarding the following sentence : *Other issues include not being able to put user defined classes in a Shared map and share them between module instances.*
+1 All is great!
This means, in the next release, that Share map should accepted classes defined by user? In other word, all verticles should share instances from user's classes?
yes
This will be possible with classloader refactoring that you planned?
Regards
On Wed, Nov 21, 2012 at 10:34 PM, Pid <p...@pidster.com <mailto:p...@pidster.com>> wrote:
On 21/11/2012 17:08, bytor99999 wrote:
> OK, I agree with all the things considered. Especially the callback
> spaghetti. But probably most important to me, and the #1 issues
I would
> like to see in vert.x and it has to be unobstrusive (which is
the tricky
> part) And that is 100% easy integration with the Spring Framework. A
> simple way to create an ApplicationContext and have access to it
in any
> verticle. But either have only one instance of it per verticle,
or per
> vert.x application.
As you know, I'm really interested in this too - partly because I
think
it touches a few different problems for vert.x, but partly because it
opens up access to rich ecosystem for enterprise developers.
> I am tired of have to architect fully to so many callback
spaghetti and
> write so much more code in vert.x that I could have so easily and
> quickly done with Spring. Accessing data with Spring data.
Setting up an
> easier control flow with Spring Integration. But instead of
taking days,
> it will take weeks/months to write the same code without Spring.
>
> I know I have brought this up too many times, but I really think
this
> would open up the flood gates for a lot more people to start
using vert.x
I've done some work on this front, did you try it out?
p
> Thanks
>
> Mark
<mailto:ve...@googlegroups.com>.
> To unsubscribe from this group, send email to
blog : http://blog.fsznajderman.fr <http://sznajderman.developpez.com> Rédacteur sur Java - ʕ๏̮๏ʔ <https://plus.google.com/u/0/b/112440333946538821016/>
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To post to this group, send an email to ve...@googlegroups.com.
To unsubscribe from this group, send email to vertx+unsubscribe@googlegroups.com.
--Tim Fox
Vert.x - effortless polyglot asynchronous application development
http://vertx.io
twitter:@timfox
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To post to this group, send an email to ve...@googlegroups.com.
To unsubscribe from this group, send email to vertx+unsubscribe@googlegroups.com.
+1 to making better unit/integration test support a priority.
This is actually the main reason why we don't use vert.x.
Currently (A)TDD is not a realistic option with vert.x, which makes it a non-option for many cases, especially if what is being developed is not just a project but a product which must be maintained for a couple years.
As of today, I have no idea how to do long term qa (especially regression management) on a significant vert.x development effort.
During Devoxx I started to think about what we need to do to take Vert.x to the next level. There is currently a lot of interest in Vert.x that we need to build on, but there's also quite a lot we need to do to gain acceptance in the enterprise.I would therefore like to start working in the next few weeks on the next major release - vert.x 2.0.Some of the things I'd like to consider including in this release are:1. Classloader refactoring.Currently each verticle/module runs in its own classloader instance. The main reason for this is to provide isolation by preventing instances to share data using statics.However this has problems including permgen getting easily exhausted as each instance has its own copy of classes including copies of classes from any other jars that it uses. This doesn't scale.Other issues include not being able to put user defined classes in a Shared map and share them between module instances.I'd therefore like to change the classloading module such that each module/verticle *type* (not instance) has its own classloader instance. This means classes would only be loaded for a module once, not once per instance. This is a more traditional model you'd find in most app servers.The down side of this is users will be able to share data using static members between instances of the same module/verticle. But I think this is a price worth paying. (We can warn against this).2. IDE integration.We need good Eclipse/IntelliJ integration.Personally I don't use IDEs for anything much more than editing files, but I'm probably in a minority.We need the Gradle tasks to work properly for creating Eclipse/IntelliJ projects (currently they are broken).
We need an effortless way of easily testing Vert.x verticles/modules from within an IDE. I'm guessing we need an Eclipse + IntelliJ plugin here.
My applications just to learn so far have been pretty small, admittedly, but I'm sure bytor, who's been writing a pretty significant vert.x application, wouldn't have been doing so in other than a test-driven manner.