2

I've not done web development for some years (my last project was Symfony, Twig, minimal javascript). I'm returning now and wow has the world changed.

I'm thinking about starting completely new with one of those fullstack framework, where client and server are all in one and you don't even have to explicitly implement the API between them.

I'm looking for pointers to a good framework to use. Someone pointed out Meteor, for example. My background is in C, PHP and SQL databases, but I'm not against learning NoSQL.

My focus is on the project, not on the technology. My main goal is to have something where I can produce some initial results fast, and then later dig in deeper to improve.

I do need user registration and management, and having a REST or GraphQL API available to other clients to consume is a must. I have a webserver for development and I prefer hosting myself over any cloud solution.

  • 1
    Again: a bit broad. You've listed some requirements – but what language should it be for? and what makes a framework "good" for you? – Izzy Jun 20 '18 at 6:43
  • I'm looking for suggestions and am open for a lot, that is why I don't want to put in many restrictions. My goal is to forget about the framework as much as possible and focus on the app. – Tom Jun 20 '18 at 7:36
  • As Izzy said, this Question is rather fuzzy and broad. What do you mean by “client and server are all in one”, as that is the opposite of a web app? When mentioning something like Meteor, link to the project page or Wikipedia for background info. – Basil Bourque Jun 21 '18 at 20:24
  • @Tom Regarding Izzy’s comment and your response, if you did get a bunch of suggestions and then sat down to cull though them, by what criteria would you sort those suggestions? For what reasons would they land in the “No way”, “Maybe”, “Interesting”, or “Nailed it” piles? Those reasons are what you should post in your Question. – Basil Bourque Jun 21 '18 at 20:36
  • He says he prefers hosting himself. codenvy.com/product/index.php#pricing – onurcano Jun 24 '18 at 23:04
1

If You do not restrict languages, I would suggest Django. It is a web framework for python, that in My opinion meets Your needs:

  • Allows You to write code and see results really fast
  • Client and server are in one place, allowing You to use template languages like Jinja
  • Allows You to expose REST api (DRF toolkit)

This will require You to learn basics of python, but there are many tutorials on Udemy or other e-learning platforms. You can also start here.

If You have any further questions ask.

  • In terms of frameworks, I second the recommendation for Django - python is a pleasure to work with... Of course it's only half the picture for 'full stack'... add github.com/owais/django-webpack-loader and run create-react-app on the frontend and it starts to feel more rounded to me :). And GraphQL... and...and... – ptim Jun 22 '18 at 8:06
1

Vaadin

Vaadin Framework

The Vaadin Framework (Vaadin 8) lets you write in pure Java to declare a layout with widgets (buttons, fields, labels, images, etc.). No templates, no special languages, just Java.

That code executes server-side in a fast secure Java Servlet container. At runtime your layout is automatically rendered using standard web technology (HTML, CSS, DOM, JavaScript, AJAX, WebSocket, etc. ) in the user’s web browser. No need for you to write, or even know about, the web technologies. So your development is very rapid, getting much done with little coding.

See this interactive Sampler of the Vaadin widgets. And this older demo.

The web app runs as a “single-page application”, meaning the user’s interactions happen instantly without any reloading of the page. Ditto for your programmatic changes to the layout and widgets, all happening instantly with no page reload.

Vaadin is great for business-oriented data-driven apps, but not flashy magazine or brochure type sites.

Vaadin Flow

Vaadin Flow (Vaadin 10) is a major re-implementation of Vaadin technology to leverage the emerging Web Components standards.

The basic idea remains the same, a Java framework runs your app on the server-side while auto-magically rendering in standard web technology in the user’s web browser. But now the widgets can be crafted on top of Web Components rather than being Vaadin-specific. Those widgets can be used without the Java framework, included manually in other Web Comonents-based projects by other web developers. And other such widgets will be easier to build or adapt for use within Vaadin as well.

Currently in beta release.

  • Thanks, Vaadin looks quite interesting. I've actually encountered it before and just forgot about it. – Tom Jun 25 '18 at 4:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.