How to load a Java web app in the terminal?

Which framework is most suitable for CRUD web app with reporting, security, templates, localisation and multitenancy?

  • I have created a CRUD web app using a java based RAD tool called Wavemaker. The app uses a lot of master grids that when a row is clicked opens a detail dialog. I am now going to redevelop the app with another language and framework. I am trying to decided mainly between Ruby on Rails and Django, but I have also been reading into Symfony and Zend. The main things I liked about Wavemaker: -Drag and drop widgets -A lot of the database functions were automatically handled The main things I don't like about developing with Wavemaker (not Wavemaker itself): - Support: The support generally involves posting to the forums and hoping for a reply that may never come. I would rather paid support over this option which to be fair is offered by vmware but I found it too confusing. - Small number of freelance contractors: Much of the functionality within my app required coding or workarounds outside of the standard features of wavemaker and it is very hard to find a freelance wavemaker developer for help - Ongoing bugs that cause a headache during development The main requirements for the framework are the ability to do reporting (I incorporated Jasper reports in Wavemaker), Security (Authorization and user roles), templates,  Internationalization and localisation, multitenancy, calendar (Outlook style), tablet optimization, scalability and performance. The database will by MySQL. By table optimization I mean the web app should function perfectly on an iPad on Android table with scrolling, zoom and touch functionality. Clickable grids and dialogs are also a must. I will be co-developing the app but I would also like to outsource a large part of it to take some of the load off me (I am only an intermediate developer). The other week I searched elance and obtained these results: - Ruby on Rails: 4,969 contractors - Zend: 3,221 - Django: 1,440 - Symfony: 828 - Wavemaker: 11 Could you please suggest which framework may best suit my needs (I have tried not to make this question too subjective)? My research of the frameworks: Ruby on Rails Reporting - Thin Reports or ODF Report ?? (https://www.ruby-toolbox.com/categories/reporting) Security - ?? There is a guide here http://guides.rubyonrails.org/security.html User roles - ?? https://github.com/stffn/declarative_authorization Templates - Yes (http://guides.rubyonrails.org/layouts_and_rendering.html) Internationlization (i18n & L10n) - Yes Multitenancy - ?? Found mention of a solution for Postgress but not MySQL Calendar - fullcalendar ? https://github.com/bokmann/rails3_fullcalendar Table optimization - ?? Scalability and performance - ?? Django Reporting - Django Reporting Syster (http://code.google.com/p/django-reporting/)   - PDFWithJasperReports (https://code.djangoproject.com/wiki/PDFWithJasperReports) Security - https://docs.djangoproject.com/en/dev/topics/security/ Templates - https://docs.djangoproject.com/en/dev/ref/templates/ Internationlization (i18n & L10n) - Yes Multitenancy - ?? Calendar - http://djangopackages.com/grids/g/calendar/  Or  https://github.com/thauber/django-schedule Table optimization - ?? Scalability and performance - ?? I would greatly appreciate any suggestions on which framework would best meet my requirements. I am fine with using any lanuage, I feel the right framework is more important at this stage. Thanks.

  • Answer:

    I'd advocate Rails for your needs (versus Django).  I'd strongly advise against zend, and have no experience with symphony. Rails upsides: Rails very heavily prescribes conventions for how you structure your app.  You will spend less time waffling over organizational concerns. Rails has a very vibrant community - there are plugins (gems) for just about anything you can think of. There isn't explicit support, but the community is quite helpful (and sites like Quora and Stack Overflow are great places to get targeted questions answered) Django upsides: There's less magic that goes on in Django; you're a little closer to the metal.  You will probably have fewer "where the hell is this coming from?" moments. Rails gotchas: Because it relies very heavily on conventions, you should spend extra time up front understanding them.  Build a sample app, test out various gems and configurations, and see how everything fits together. Not all gems play nice together; there may be some pain as you integrate them.  (Hence why it's good to spend some time up front researching this)

Ian MacLeod at Quora Visit the source

Was this solution helpful to you?

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.