What should tech stack should I use? I'm a bit desperate for guidance

I am a very mediocre “front-end developer”. With that out of the way, let me explain my situation and objectives.

I started a project that was initially a blog on Wordpress. I decided I wanted to expand this project into something more serious. One of my goals is to create a codebase that was lighter and faster than Wordpress. The project is based on providing educational articles, digital downloads, and many categories relating to a particular subject matter. Eventually I want to implement the sale of the downloads.

I briefly looked at Drupal because I’ve worked with it a little. That doesn’t resolve my goal of having something lightweight. So then I looked at Drupal alternatives. Django quickly popped up. Django seemed great expect there’s a problem. I don’t have all the time in the world to develop this project and studying Django/Python may not be the best use of my time. I am more proficient in Javascript.

So that’s how I arrived at Django. I honestly don’t have any real familiarity with the JS framework extravaganza going on nowadays. The concept of a CMS seems to have lost popularity as a packaged solution so I’m wondering what would be a good solution for my described project that allows me to employ my vanilla Javascript knowledge.

Suggestions? Thanks in advance.

If you don’t have the time to develop it yourself, It sounds like you’d be better off just optimizing Wordpress. Lots of very large sites run on Wordpress.

There is a Django CMS, but it’s not going to be anywhere near as robust.

The issue is that I don’t know if learning Django/Python is the approach I should take since I already know JS. I’m basically wondering if I can capitalize in my JS knowledge in order to move this project forward.

It never hurts to learn more languages.

NodeJS is obviously an option, but I don’t think there are many good prebuilt CMS solutions for it. There is Keystone, but you don’t hear about it much. (but it’s has a lot more stars on Github than the last time I looked at it)

So that brings up another question: Are the majority of developers creating SPAs nowadays? Are there no improvements in resources for old-fashioned, content based sites? I briefly looked into Meteor.js but it not well designed for SEO needs. I’m starting to find that shocking. WP and Drupal are increasingly bloated–although they have their own positive aspects. I feel like I don’t understand the community any longer (which makes sense since I do other things now).

Have you considered a PHP Framework? PHP should be a fast learning curve because of your JavaScript knowledge.

As far as your “codebase” is concerned I can recommend [CodeIgniter] (http://www.codeigniter.com/) because it is simple and fast as storing and retrieving your data. Your JavaScript can then be used to manipulate the retrieved data both server-side and in the browser.

There are numerous other PHP Frameworks which may also suit your requirements, some simple whereas others can be complex.

Meteor is a rapid prototyping framework for web apps. It’s not something you should consider for this.

Youd need to look at Express. You can serve server rendered pages with Express. NodeJS doesn’t necessarily mean it has to be an SPA. But, it is a framework, not a CMS. Keystone CMS is built on Express.

Not a whole lot. Sending a request back to the server and refreshing the entire page to change some data, doesn’t make a whole lot of sense for the user, when you can just update the relevant pieces, without the rerendering everything every time.

It sounds like you’re suggesting the paradigm itself is losing relevance which I find to be a strange idea. Wikipedia has no choice but refresh the entire page. Same for a learning resource like http://webdesign.tutsplus.com/. If this paradigm and style doesn’t serve the user well, then that would suggest it needs an update.

Yes I am. It’s definitely not there yet, but it’s starting to.

They have a choice, so does the other site you’re referring to, they just haven’t done it (yet). Wikipedia itself is a very large site, with lots of code, so a change wouldn’t be easy, nor would it really be worth it at this for what they are. Plus, search engines still have trouble with JS and still need at least fallbacks to get the data they need. If you disable JS on these forums you’ll see what I mean. (It actually looks a lot better than it used to, they added some CSS styling)

Meteor doesn’t have this server rendered fallback (or didn’t out of the box), the entire page was entirely rendered in JS. Up until the last year or so, Google listed nothing about the content when Meteor.com came up in the results. Just the URL. Now it has some basic info, but that looks like it might just be from meta tags. But, I don’t see that text in their meta tags, so who knows.

So, it’s still kind of irrelevant if you want your stuff to be easily indexed by search engines and don’t want to spend the time worrying about search engine versions. But, it’s heading that way.

I guess I find this prediction shocking. I don’t see how content based websites can ever lose relevance… When that’s paired with SEO concerns, it makes it that much more complicated. Just so I understand, do you think contemporary web applications will just eventually solve the SEO issue and thus content will be properly indexed and read? Or are you suggesting that fewer people are concerned with creating websites that contain lots of content? I may not see where current trends are headed.

I think the SEO issues will eventually be solved.

Content based sites will always be there. Even looking at it from those site’s point of views, if a user can move from one piece of content to another or find more relevant content easier, then that’s a good thing. They want to keep people around as long as possible.

I know I’ve personally left sites because of hiccups that have caused pages to take longer to load. I mean, it’s less about the hiccup itself and more about giving me more time to think “you know what? I don’t really care about this” and moving on.

Do you have any opinion on the idea of running and content based website on some sort of SPA, besides SEO issues? If it seems things are moving in that direction, I might reconsider Django.

I’m honestly don’t know what issues could come up as far as search engine problems, but if you have a no-js fallback I can’t see there would be a huge issue. You’ll basically have to support 2 versions of the code, though.

Personally, I’d still build a content based site with server rendered code for the core articles. We kind of got off subject here. :smiley:

I feel like we’re on the subject. These are the things I’m concerned with. Based on your last comment, I suppose I’ll stick with my server-rendered Django articles. My educational, content-based site will revolve around that. I suppose I’m just surprised this type of website has little role in current technological trends.

I wouldn’t go that far. Things are just beginning to move in another direction, because it makes a ton of sense for a lot of reasons.

Do you know of any technical solutions/frameworks as an example? I want to plan ahead.

React, Angular2(beta), Ember are the big 3 right now. These are separate pieces from the backend like Express or Django.

1 Like

Oh cool. I knew that about React. Wasn’t familiar enough with Angular and Ember. Thanks.

Discourse (the forum software we are using right now) is built in Ember.

1 Like

I definitely have read even less about Ember. Thanks for pointing that out.