Ask HN: Drupal or Django for my startup? and why
11–20 of 28 posts
Re: Ask HN: Drupal or Django for my startup? and why
#12Re: Ask HN: Drupal or Django for my startup? and why
#13Re: Ask HN: Drupal or Django for my startup? and why
#14* Dependency management is way easier with Python, so upgrading and deploying is less error prone
* Django scales really well thanks to excellent caching with e.g. Redis. Adding caching to views (pages) is child's play, and super easy to debug/purge.
* Speaking about scaling, writing a REST API or consuming a REST API is much easier in Django (django-rest-framework and requests, respectively)
* The Django ecosystem is great. If you have a problem you want to solve, someone has probably done it already and published a package
* The Drupal middleware is awful compared to Django middleware
* Testing
* The Django admin interface is amazing [0], and at least as good as any off-the-shelf CMS. It does permissions and custom actions. Your sales team needs to upload a CSV file of suppliers? No problem, just add it right in there.
* Debugging. The Django shell and pdb/ipdb are great tools.
Finally, thanks to some non-obvious pitfalls in PHP, you have to take more care when writing PHP to make it secure. Apart from the flame-wars, the only practical issue is when hiring. You need to make sure you hire PHP candidates who know the language inside out. With Django/Python, you can be a bit more lax - there's far fewer non-obvious pitfalls, especially with the templating system and ORM of Django. It also takes devs less time to do a thorough code review. IMO, it's easier to grow a Django team.
[0] https://docs.djangoproject.com/en/dev/ref/contrib/admin/
Re: Ask HN: Drupal or Django for my startup? and why
#15* A framework works at a lower level compared to a CMS. So if you have lot of customizations to be done which is not limited to how it looks - a framework is better * If most of the work needed is to change how a site looks and content only, a CMS might be a good fit * From your point it looks like there is a need for a strong platform * Which language are you programmers comfortable with (if you already have a tech team)?
For the company I was working in earlier, Drupal 7 was being used.
For my own startup I am using Django.
Re: Ask HN: Drupal or Django for my startup? and why
#16Background: I work at a Fintech startup where the backend is built with Django. I have about 4 years of experience with it, and have worked on Django projects from several different industries, from education to ecommerce. I absolutely recommend that you go with Django. Your project sounds like will deal with many different types of problems, and using Django and Python will allow you to take advantage of the huge ec…
Interesting. I am not arguing, just sharing: people say that Drupal now is a framework and you an actually write custom stuff, not just stack modules. Can that be, what do you think?
One approach that you can also look at is build the platform as an API in Django and build the wrappers / customizations for the sites in Drupal.
Re: Ask HN: Drupal or Django for my startup? and why
#17As time progressed, we added voting, rss aggregation, quizzes, and started extending views with URL arguments, relationships, fancy combinations of filters, login was via OAuth, and we were at 7.x by now. It was feeling unwieldy. Always aggressive in theming, what we wanted to do was taking an increasing amount of time, both in function and appearance.
A new project came along, and I thought, eh, Drupal can do that. And it surely could, seeing a nail, Drupal is a hammer that can do anything.
But it does it in a way where maintenance, or getting things exactly the way you want become incredibly time-consuming, and the code is a maze unless you're in it 24/7, and we had chosen Drupal not to be in code 24/7.
My background is not as a developer, but finance where using technology is an important skill. I can Bash, Ruby, JS, VBA/.Net, Python, R, and a few others to varying levels.
I shuddered a little when seriously considering Drupal as a solution to this new problem, mapping out the edge cases and exactly how many modules were needed (60+).
I ended up taking a week off learning NodeJS and using hapi as a framework. Just because I wanted a fresh start, not that I was enthralled with Node, but as so many others were using it, surely something was there.
This freshness gave some time to think about what I actually wanted, and to back-track from there, focusing on simplicity and well, simplicity. How to make everything as simple as possible, which is what a high level code framework offers.
You don't sound that technical, and I don't have experience with Django, however I recommend taking a code-approach, even if you don't want or need to be sitting in code, as you'll have access to and know how everything really works, not a pre-written GUI one where you're clutching at straws. Most web challenges are about the idea, the code implementation for what you sound like your doing, at an initial stage, is probably that not complex, and if you have success with the core idea, get technical talent onboard to optimise or do the things you find too hard.
A word of warning, however: Focus on making things simple. That will stop you going into a rabbit warren filled with code spaghetti.
tl;dr
Drupal is an excellent tool for publishing, and accommodates some complex publishing workflows that need multiple authors or layers of editing or approval. Core modules like comments or maps compliment this, but that's it. If your core need is greater than publishing (I suppose marketplace is publishing, and there are eCommerce modules), Drupal is a quick solution, but if your long-term roadmap means doing something remotely unique technically or in UX, roll your own using a framework to prevent re-inventing the wheel (and ending up with security nightmares). Bring on technical talent at an early stage when your idea seems proved. If you have funding, do this right away.
Re: Ask HN: Drupal or Django for my startup? and why
#18We migrated from Drupal to Django a few years ago and haven't been happier. Sites have become easier to maintain, new features are developed faster and designers find Django templates easier to work with. We found Drupal's hooking system a pain to work with and it made debugging incredibly difficult. We were using Drupal 6 at the time, not sure what has improved since then.
Re: Ask HN: Drupal or Django for my startup? and why
#19Even though my experience is from a few years back, I absolutely cannot recommend Drupal for complex, custom applications. See my write-up here: https://github.com/rshekhtm/VentureTap/blob/master/README.md , especially the Lessons Learned section.
Re: Ask HN: Drupal or Django for my startup? and why
#20Earlier quoted context omitted.
Interesting. I am not arguing, just sharing: people say that Drupal now is a framework and you an actually write custom stuff, not just stack modules. Can that be, what do you think?
Yes - that is what is being said about Drupal 8 but I see it more of a shoehorning a CMS into a framework. Custom modules can be written - but doing the same in Django is much easier. One approach that you can also look at is build the platform as an API in Django and build the wrappers / customizations for the sites in Drupal.
Drupal's fundamentally different than Django as not only are you able to code less due to the sharing of modules but you're also collaborating with thousands of others.
So with Django where you're coding coding coding, i.e. creating technical debt, the idea with Drupal is you only need to code what business logic hasn't already been built over the last 16 years. You're leveraging code and community, so you can focus on what you're good at and collaborate with thousands of others to fill the gaps.