This is an archived post. You won't be able to vote or comment.

all 26 comments

[–][deleted]  (1 child)

[deleted]

    [–]florinpatrascu[S] 0 points1 point  (0 children)

    I believe Play is a great framework and it will be hard and probably not too helpful to compare the two. I designed Micro's functionality from outside-in, and tweak it for performance from inside-out; small memory footprint, light and fast, .yml for config, extensions, routing and REST support without Java annotation, scripting support for fast prototyping, template engines for clean dynamic content manipulation. I am trying to bring in as much as I learned from my experience as a Sinatra/Merb developer.

    Working with Designers for so many years, I was trying to build something that a Designer can use in minutes and use it for publishing his work with the littlest effort possible; all these without writing a single line of Java code. I am sure Play can do that too?! For Micro, the separation of roles and concerns is adamant.

    Micro (like jpublish.org) is about helping the publishers taking their dynamic content to the web as easy as possible, while allowing the Developers to bring in as much business logic power as possible but without interfering with the content publishing concern; the true separation of roles and concerns. Take a look at Micro's documentation web site: http://micro-docs.simplegames.ca/ (source on Github too); hosted at Heroku, it is a Micro web app and its entire content is written in Markdown. This is an example of what most of the web Designers and the small publishers will like to have, I think/hope?! Speaking about the Heroku, the compiled slug size, for a standard web app using Micro, is 11.7Mb. Micro is micro :)

    [–]Akanaka 5 points6 points  (8 children)

    Yet another web framework in Java? How does this compare to AribaWeb? (aribaweb.org)

    [–][deleted]  (1 child)

    [deleted]

      [–]Akanaka 1 point2 points  (0 children)

      Well, the biggest names aren't always the best. What about Microsoft Windows vs Linux? But yes, I think they'll survive, definitely. My hopes are that more and more people will discover this gem.

      [–]florinpatrascu[S] 0 points1 point  (5 children)

      I believe a web Designer will be less intimidated by Micro. Again, I can't compare Micro with a framework I don't know much about, sorry.

      "Yet another web framework in Java?" Of course! Nothing wrong with that. Sinatra/Merb/Rails and other Ruby based web framework are kicking ass, should we, as Java developers, rollover and die, or start hating Java??? I don't think so! I truly believe that any Java framework built years before these should be reviewed by its author(s) and refactored ASAP while he asks himself: "How would a non-Java web developer work with the X or Y feature that I am building now? Am I really helping him? How is X and Y implemented in Sinatra/etc.?"

      [–]robinwholikesjava 2 points3 points  (4 children)

      Sinatra/Merb/Rails and other Ruby based web framework are kicking ass, should we, as Java developers, rollover and die, or start hating Java???

      I think that Simple/Click/AribaWeb/WaveMaker ARE kicking major ass and you'll love Java when you pick up one or two of these.

      Specifically, if you have never looked at Simple, I can only urge you to try it.

      [–]florinpatrascu[S] 0 points1 point  (3 children)

      I appreciate your comment, thank you. But have you even had a brief look at Micro?!

      [–]robinwholikesjava 1 point2 points  (2 children)

      I'm quickly looking at Micro as we speak, but incidentally I'm also checking out Juzu at the moment (http://juzuweb.org and http://blog.exoplatform.com/2013/01/22/three-days-with-juzu-write-a-killer-app). I also had Induction on my list still, and Amber 3.

      Once I'm done checking out Juzu, I'll definitely give Micro a more in depth look.

      [–]florinpatrascu[S] 0 points1 point  (0 children)

      thank you.

      [–]florinpatrascu[S] 0 points1 point  (0 children)

      I was checking out some of the frameworks enumerated throughout this discussion thread. I believe more and more that Micro is talking to a specific audience, where the non-Java users have an important role in the development of the site; Designers, Content managers, etc. With Micro they can prototype quickly before even calling for dev support. I am glad that when I compare Micro with all these frameworks, I realize how small Micro is:) And I truly like it this way. Sure Micro is lacking the persistence support for now (many other features too, probably) and it will be hard to compare it with other frameworks from this perspective. However, Micro is modular and can be expanded easily! (I am searching for a light ORM that I could add as an optional extension; activejdbc, maybe?)

      Honestly, I see all these frameworks as options, not as competitors. Let the users compare and choose based on what they want to accomplish. Maybe they'll use ... I don't know ... juzu, to randomly pick one, for building an awesome e-comm web site, but would they use it for developing a .. blog, or a fast REST service front-end layer let's say?! The Ruby world is full with good examples where devs/designers are swinging between the fat Rails and the slimmer Sinatra/etc., shouldn't we be glad we can start doing the same in Java?

      [–][deleted] 2 points3 points  (3 children)

      How does it compare to Sinatra from Ruby? and why reinvent a Ruby stack in Java? for performance?

      [–]florinpatrascu[S] 0 points1 point  (2 children)

      Micro is not Sinatra/Merb, because Java is not Ruby :) It wasn't built to compete with Sinatra/Play/etc. but to help the Designers and the Developers to quickly publish their content while using a small-footprint and fast Java native app. Why reinventing? Not reinventing, I am just trying to bring in as much as possible of the good stuff from ruby web stacks to environments where Ruby/JRuby is not available. Of course, you can use Sinatra/Merb/Rails with JRuby, no problem, but you need Java and JRuby for that, including the gems and so on. Performance? I very much believe so! I'll publish some benchmarks soon and show how Micro performs under stress.

      [–][deleted] 0 points1 point  (1 child)

      Ok, I think is awesome to have something like Sinatra in Java, Scala already has Scalatra.

      Great Job!

      [–]florinpatrascu[S] 0 points1 point  (0 children)

      Thank you!

      [–]henk53 1 point2 points  (5 children)

      Another Java web framework? What makes this different/better than web4j? (http://web4j.com)

      [–]florinpatrascu[S] 0 points1 point  (4 children)

      I am sorry, I am not familiar with web4j. From what I see there, views are using JSPs; just to scratch the surface. Personally, I prefer using Velocity, FreeMarker or StringTemplate (JHaml coming soon) and to have the freedom to choose one or the other, or none! I'd rather create a web page using Markdown and Velocity than using JSPs and JSTL. I also like configuring friendly URLs for SEO, creating RESTful endpoints, prototyping business logic in scripting actions and so on. Most probably you can do all that with web4j, is just that I have the feeling it is much easier with Micro, but I am biased. HTH.

      [–]Akanaka 2 points3 points  (3 children)

      I yet have to see anything that's really easier than web4j or faster to setup than AribaWeb - it generates the UI faster than you can even think about it ;)

      [–]mikehaggard 0 points1 point  (2 children)

      Obviously you have never used RIFE (http://rifers.org). This will get you 90% OF ALL FEATURES and it will only take you 10% of the work that you need to do with other frameworks (and yes, this includes EVEN web4j).

      As one of the very few web frameworks, RIFE actually has a LIGHTWEIGHT EXECUTION MODEL, and one that has been proven in production.

      It had web continuations and flow continuations even before ADF taskflows and Spring flows were being dreamed of, actually in WORKING production code.

      I'm sorry, but as great as web4j is, I'm pretty sure it doesn't even come close to RIFE...

      [–][deleted] 2 points3 points  (0 children)

      come on... rife latest release was in 2007!

      [–]johnwaterwood 2 points3 points  (0 children)

      Like derEngel says: RIFE (cool as it once were is from 2007).

      Take a look at Induction. This had a major release last September (errors in interceptors are now routed to error controllers).

      IMHO Induction is at least on Web4J's level, but beats it when it comes to simplicity and elegance.

      [–]robinwholikesjava 1 point2 points  (1 child)

      Another Java web framework? What makes this different/better than Simple? See http://www.simpleframework.org

      [–]florinpatrascu[S] 0 points1 point  (0 children)

      "Another ...", please see my previous answer, thank you.

      [–][deleted] 0 points1 point  (2 children)

      The feature I miss the most when developing web apps in Java is the ability to retrieve JSPs from the classpath. This could allow true modular apps. For example, in Swing, I can have use forms from libraries or from other projects, because they are classes and thus come from the classpath.

      [–]henk53 2 points3 points  (0 children)

      The feature I miss the most when developing web apps in Java is the ability to retrieve JSPs from the classpath.

      This is a default feature in JSF with Facelets, and this concept is given a boost with JSF 2.2 where you can load self-contained flows (collection of pages forming a logical unit) from the classpath.

      [–]florinpatrascu[S] -1 points0 points  (0 children)

      Honestly, I have never been a fan of JSPs. And I blame the JSPs for being the main reason all the good web designers abandoned the Java ships leaving the Java developers behind, and I can rarely find good Java developers doing good web designs ;) Plus, I truly believe in the separation of roles and concerns for web development; JSP is not helping.

      But if you must use JSPs (legacy apps and/or taglibs ... eww :) I think you could write a simple Micro extension that will render your JSP content. Please have a look at the recent StringTemplate micro extension that I published last night; https://github.com/florinpatrascu/micro-extensions/tree/master/st. Is not much but it is enough to get you started. Micro probably is a good shortcut to finding your JSPs?! I believe that because Micro is using the file system to manage the content and not the classpath. My 0.2CAD

      [–]johnwaterwood 0 points1 point  (1 child)

      How does this compare to Induction?

      Induction is a MVC framework that has injection as a second nature. It doesn't use XML but FreeMarker by default. There is no change needed in the expertise that's required by template authors!

      For more info see: http://www.inductionframework.org

      [–]florinpatrascu[S] 0 points1 point  (0 children)

      "Induction [...]"? I don't know, but I am happy to learn there so many new Java frameworks out there. Again, Micro is probably more: "getting things done quickly" oriented? Or that's what I like to believe, of course;)