Pool: Front/Backend Stack

I’m mainly a C++, C#, and Objective-C/Swift developer but I’ve also built websites with JQuery and PHP. I’m now analyzing web technologies and looking for the “perfect” stack, unfortunately there is no such thing and the choices are mind boggling.

It will be interesting to hear the other members about the web technology choices they’ve made. Here is the setup I have in mind right now:

  • Frontend: JQuery + Bootstrap
  • Backend: Java + Spring
  • As an alternative for RIA: Java + Vaadin for FE & BE

What is your front/backend stack?

Cheers

It is even heavier than GWT.

I’ve been in your place some 5 years ago, and I tried to use GWT. Did not work very well. Currently I’m using Bootstrap+JQuery+Angular on FE, Java on BE.

Framework/stack, after all, is just a detail. Market fit and marketing are way harder.

1 Like

Cool, this is the stack I have in mind right now (except Angular). On the backend do you use plain JPS/Servlets or you also use Spring or a similar framework?

How is Angular helping you out on the frontend?

Yeah, using Spring. Angular is more an experiment at this point. JQuery does most of the work.

If you already know c# go for asp.net . As you’ve stated, the perfect stack doesn’t exist, although for me, the perfect stack is asp.net based for backend and angularjs + bootstrap for UI.

My experience with java is very limited but I hated every interaction with it. I’m amazed there are C# devs preferring Java to C# in 2015. Backend with .net is let’s say… my expertise, so I’d be happy to answer any question you might have about it.

Btw, if you build a startup (saas, platform like) hosted on Azure, you can apply for Bizspark and not only get all MS software free for 3 years but you can also get 150$ Azure hosting credit, thus your hosting expenses for 3 years will be either $0 or at least $150 less.

My Saas is Bizspark member and $150 allows for a lot of functionality especially when beginning. If you are so successful and you’ll need more hosting power, you’ll still get a lower bill. To give you a small taste, I’m paying $0 and I host 2 webservers, 2 background workers (as webjobs) and 2 standard Sql db on a plan that supports 5 SSL certs and continuous deployment from source.

You can benefit from all that even if you go the Java route, but, you’ll get more value as a .net app.

My app is pretty much built on the .NET stack, ASP.NET MVC. Lots of jQuery bits of bootstrap, all hosted on Azure with BizSpark. To me this stack works so well I can’t imagine why anyone would choose anything else :slight_smile:

1 Like

The overwhelming amount of languages, technologies, frameworks, and other development tools available today makes us always wonder if there’s a better way, an easier way, a faster way.

I find that it’s good to allocate a fraction of your time to learning and keeping up with the new stuff, but I only allow minor increments and adjustments to my technology stack because often times they aren’t quite mature, don’t have sufficient developer/community support, and by chasing for new miracle cures you can quickly find yourself up sh*t creek without a paddle.

But to stay on topic, this is my preferred cocktail:

  • LAMP
  • Symfony
  • Bootstrap + jQuery
  • Vagrant (for dev environments)
  • PHPStorm with xdebug

It’s what I know, it works great, and allows me to produce very high quality products in record time. At the end of the day, sticking to what you’ve mastered is almost always the best choice, although personally I wouldn’t trade PHP for any other language when it comes to back-end web dev.

Everything below (except Ansible) are leading technologies in their respective fields, and they work very well together.

Server: Heroku, or a Ubuntu server provisioned by Ansible
Framework: Ruby on Rails
Database: PostgreSQL
Caching/Jobs: Redis / Resque
CSS framework: Bootstrap
Javascript framework: AngularJS / JQuery

Perfect? No, and even though the above can handle a wide variety of use cases you should try to choose the best tool for the job. That being said, if I were starting from scratch today I would still chose the same stack.

Frontend: JQuery + Bootstrap
Backend: Scala + Lift

If I were to start a new product today, it would be all JavaScript. Node (with hapijs) on the backend and Angular (or perhaps React) on the front end. One thing that I’ve realized bootstrapping a SaaS application - between business and marketing context switching, keeping up with multiple programing languages is difficult.

1 Like

Yes, I would like to go C# / ASP.NET as I started my career as a Windows developer and I like C#. However I’ve learned to appreciate the independence open source technologies and multi-platform development gives me (ex. Qt, Java).

Yes, I know ASP.NET has gone the open source route recently but when will it be production-ready on Apache (not considering Mono)? Not soon I guess, and Linux will probably always be a second class citizen for ASP.NET.

I’ve finished my 5-year Bizspark program a few years ago since I’ve started with Bizspark in 2007 with my BatchPhoto application.

It’s pretty much official that the next .Net will run on linux and mac, I mean really, visual studio will run on linux. Mono already uses parts of .net . Anyway, as someone who has around 10 (give or take) open source libraries for .net I’d say open source is quite strong in .net world.

If I’d see a reason for someone not to use C# is because they like another language, but the open source argument should stay in 2007.

It depends what you’re building of course, but for classic CRUD application I would use:

Backend: Ruby on Rails or Django depending on what your language preferences are
Frontend: jQuery for basic work with HTML, if you need something more robust: ember or react
I would avoid angular. They are working on version 2 of the framework which is completely different then v1, so be ready to rewrite your application when they release it.
Database: PostgreSQL - the best database there is
Queue: Redis
Search index: Elasticsearch

This is a basic stack I use for my projects. It works perfectly.

Java is overkill for bootstrapped business in my opinion. It’s good when you have a traction and need performance, but when you’re just starting you will lost a lot of time configuring it instead of working on application.

Microsoft is risky imho (especially for startup without a lot of cash) they opensourcing theirs technologies lately (and generally changing their ways when it comes to open source) but still deployment might be a problem and they have a history of screwing developers.

I would avoid angular. They are working on version 2 of the framework which is completely different then v1, so be ready to rewrite your application when they release it.

Why do you have to rewrite the app? You can still use v1 (I’m sure they will support it for a while)

Microsoft is risky imho (especially for startup without a lot of cash) they opensourcing theirs technologies lately (and generally changing their ways when it comes to open source) but still deployment might be a problem

I’m paying 0$ (as Bizspark member) for Azure hosting (2 vms + 3 sql server dbs, besides countless NoSql storage tables and queues) . Azure supports continuous deployment from source. The only thing I’d like to see from Azure is official Postgres hosting but this is highly unlikely . Oh and I’m using a lot of .net OSS both from MS and others .

In fairness, today the only reason to use ruby/php instead of .net is that you know/like those languages . Cost, vendor lock in, productivity are no longer valid reasons to disregard .net.

Sooner or later you will have to do it so why bother at all. If it’s a hobby project then it’s not a problem, but if you build a business around technology that you know will be replaced in a year or so, you’re consciously wasting money. And we’re not talking about upgrading one version to another here. Angular 2 is completely different framework so you will have to learn everything from scratch.
BTW there are many (better in my opinion) options you can use. Ember, react to name most popular ones.

Thanks for the update on this. It’s interesting. Is Bizspark free for a lifetime?

Frankly I would rather use ruby/python/php with zero licensing costs, much flexibility, independence (cheap vps) than vendor lock in technologies controlled by one corporation and worry later about unexpected costs.

2 Likes

if you build a business around technology that you know will be replaced in a year or so, you’re consciously wasting money

Considering the speed at which things move today, everything is kinda obsolete in 1-2 years . Angular V2 is basically a new framework, V1 will still be supported for some years.

BTW there are many (better in my opinion) options you can use. Ember, react to name most popular ones.

Before I’ve settled on angular I’ve used knockout.js and toyed with Ember. There’s no contest. For a backend developer like me, angular is the most elegant and clean (despite its Wtfs). React is like KO.js more of a view model binder i.e the V of MVC/MVVM . React can be used with angular as the rendering component.

Thanks for the update on this. It’s interesting. Is Bizspark free for a lifetime?

No, only for 3 years. And to make it more clear, those 150$ credit are for Azure hosting even if you run your own vm with ruby/php. You can run a complete LAMP stack on it (self managed though) never touching a MS tech and you pay less for 3 years.

with zero licensing costs, much flexibility, independence (cheap vps) than vendor lock in technologies controlled by one corporation and worry later about unexpected costs.

No offence, but this obsolete BS annoys me. Unless you’re running your very own Windows server and you need to have a very valid reason for that, there are no licensing costs. Flexibility? Can you switch in heartbeat from a php app to a ruby one? No. Can you run php/ruby and a lot of things on windows? Yes. Do you have to run things on windows? No.

How about cheap VPS? You can find as low as 15$ or an average for 30-45$ for somethig with 1-2 GB ram and 1-2 vCPU. When I’ve last used a win vps (with Liquid web) they had the same price 100$ (it was some years ago) for both Linux and Win Vps. And with the next asp.net more and more hosts will offer .net hosting (not windows!).

Vendor lock in? .net started as closed source, in time they open up more and more. Now, it’s completely OSS . Do you think they’ll go back to closed source? Why on earth would they do that? As long as there is OSS, MS needs to keep OSS in order to compete.

I’m really tired about this kind of nonsense, from the early 2000s. I mean no disrespect, but people who don’t know the current .net world state shouldn’t say their opinion about a stack they know little about. I’m saying that as a senior .net developer (web apps) who started as a php developer and had his fun with the LAMP stack (hint: I don’t want to go back).

1 Like

My project is an old one, still pretty much alive.

Backend: Ruby on Rails, 3.2.x, MySQL, Sphinx for search, Memcached
Frontend: PrototypeJS + vanilla Javascript (no JQuery)

If I start today, it would be all different, of course.

I agree with this. I run a full Windows stack and have never purchased a Windows license or SQL Server license. I hear the other day that 20% of client VMs running in Azure are running Linux, so while still a minority that is a lot of Linux that Microsoft is hosting now.

1 Like

Frontend: Bootstrap, jQuery, Angular
Backend: Apache, MySQL, File Caching, PHP / Laravel

It’s a simple website and since there’s no huge data crunching involved, so the above is fine. I would like to move to redis for caching, but I’d have to upgrade to a dedicated server (currently simple hosting package) at my current webhost. I recently re-coded from Laravel 4 to Laravel 5 and had to restructure the folders, etc, and that was fine, and there were no changes involved in the frontend. Angular I use mostly for the administration interface, because loading pages via Angular should be a headache SEO-wise.

My current stack:

CDN77 (cdn) + Mailgun (mail sending/receiving)
Vultr VPS + debian
Nginx + pushstream module
php-fpm / hhvm
Slim framework
RabbitMQ
Redis
Riak