13 ms·
There's nothing wrong with static HTML/CSS/JS. There's also nothing wrong with a rich SPA. And again, there's nothing wrong with using some kind of dynamic serv
by jonny383 7y ago
There's nothing wrong with static HTML/CSS/JS. There's also nothing wrong with a rich SPA. And again, there's nothing wrong with using some kind of dynamic server-side HTML/CSS/JS presentation (like WordPress).
Where there is a problem is the culture of software engineering, and the tendency to select the newest technology stack of the day for inappropriate applications. I think any seasoned software engineer has acquired the skill of successfully selecting the correct architecture for the project goals (even if it is _boring_ to actually work on).
Whereas, take the junior to mid developer streams. Every time there's an opportunity to learn something new and break the grind from doing [X] for the past [Y] months, there tends to be unwarranted justifcation on why "we should use this new thing" despite there already being a well-known and battle-tested solution sitting right there.
For example: We need to build a basic company website. Someone from reception needs to be able to update the contact form and trading hours around five times per year. Someone from marketing needs to update product brochures once a month.
Seasoned engineer: Let's use any well-tested CMS such as WordPress and install a caching front-end.
Junior - mid engineers: EW WordPress! Doesn't that use PHP? Hahaha. Hahaha. Why on earth would we want to be known for using _PHP_!?!? We'd be _far_ better to just create a front-end on react and then write a microservice that will allow our staff members to update content. If marketing says SEO is necessary, we can _simply_ add a server-side rendering layer for the react front-end and deploy it onto a second microservice. And to make sure it all works, we can subscribe to some monitoring services, write a full test suite and CI pipeline. Everyone can install monitoring on their phones so if it ever goes offline, someone can immediately sign in remotely and debug which micro service is broken.
- lazyjones 7y agoAnother problem is that Google and some other search engines have only just started interpreting JS and since they determine the fate of most projects based on their search index, you'd better use a design that Google is able to turn into indexed pages.
- ThePhysicist 7y agoGoogle was able to parse and execute JS for at least 6 years, I remember having a complex SPA in 2015 that didn’t pose any problem to Google.
- wyqydsyq 7y agoI can't see JavaScript SEO ever being a thing, especially when most people these days just add SSR to their stack and call it a day
- hnarn 7y agoFor this typical use case, a statically rendered page with some kind of editing interface would work great, no need for databases.
- kugelblitz 7y agoWhy is this downvoted? I'm a big fan of PHP, but I feel something like Netlify CMS + Jekyll on Netlify is appropriate for this. It would be super fast (statically generated and on Netlify CDN) and secure (no database or app scripts) and includes an editing interface. With WordPress I don't worry about the PHP part, but for the tendency of people to bloat it by installing plugins and not updating it enough.
- jonny383 7y agoNetlify and Jekyll are kind of more oriented towards develoeprs, not Janine in reception. Regarding WordPress and plugins: <?php define("DISALLOW_FILE_MODS", true);
- KptMarchewa 7y agoI'd rather Janine ping me three times a year to change some string than deploy PHP with mysql.
- nojvek 7y agoPhp with mysql is amazing. I don’t get the “i’d rather have Janine ping me three times an year”. What if you leave work? What if you are too busy with your next hobby project that you don’t give a shit about Janine? What if she wants to update brochures every now and then and your manager says you’re too expensive to help Janine. Tech is about automation. Php + mysql still serves well in this era. Wikipedia still runs on it and it’s a pretty fantastic and responsive site. So does Facebook to some degree I suppose.
- KptMarchewa 7y ago
- volument 7y agoThis feels like a response from a seasoned backend engineer. Seasoned frontend developers value user experience and design — thus the tendency to go "back to static" and rarely back to WordPress.
- jusssi 7y agoTo me Wordpress sounds exactly a suggestion you'd get from someone who doesn't have to maintain it. I.e. frontend dev.
- hombre_fatal 7y agoOn the other hand, Wordpress is for the reality that most people don't have a developer on hand (nor should need one) to update their website.
- kop316 7y agoHow so? I maintain two WordPress websites and really "maintaining" means I get an email telling me it automatically updated every so often. I spend more time on it restarting the server because it was updated to a newer kernel (it runs on Debian Stable, to give you an idea for how often that happens). I do agree that if you need plug ins, that appears to get messy very fast, but the default WordPress site does everything I want and requires very little for maintenance.
- diegoperini 7y agoI believe the grand-grand-parent used Wordpress as an example to his/her argument. You can use any other battle tested CMS solution if Wordpress is too heavy for your needs. For example, I like Ghost (https://ghost.org/ https://ghost.org/) for my personal needs.
- 76543210 7y agoHuh... Maybe I haven't done anything too complicated in WP, but I didn't find it bad. Worst case I use a dedicated PHP page and MySQL. But in reality I think I usually put my code in functions.php(?) And it works fine.
- zelphirkalt 7y agoExcept that usually someone from marketting or the reception still wont touch the website, because they think, that they can save time by delegating that back to the developers. Wordpress has some kind of terrible design decisions backed in and yes, there are many more elegant and long term effective ways (it's not about getting it online in 30mins) to build a company website.
- jonny383 7y agoThis is a cultural issue within a company that has nothing to do with a suitable technical solution.
- msla 7y agoI'm not sure it's junior/senior so much as personal taste: Plenty of junior engineers use Vim and Emacs, neither of which are trendy in any meaningful way, and I'm sure there are senior engineers who use Visual Studio with all of its whiz-bang. Similarly with websites, some have ideas which need AJAX and, possibly, WASM, and others have ideas which need static sites or, at most, "slightly dynamic" websites with only a little JS mutating the DOM. More specifically, it isn't always up to the engineers: > We need to build a basic company website. Marketing is inherently trendy and the people designing the website, as in dictating what it needs to do and look like, are the marketers, who are influenced by the "cool" websites they've seen. Marketers follow trends. It isn't really negotiable in that profession. The engineers do their best to deliver on what marketing wants, and if that requires a WASM re-implementation of NyanCat to prove that we're retro-hip and DownToFax, so be it.
- dirtnugget 7y ago> Plenty of junior engineers use Vim and Emacs Pretty sure that’s not the case anymore, I have been a developer for 3 years and have never ever seen anyone use either of these for work
- Johan-bjareholt 7y agoWell, since you've only worked for 3 years I bet you haven't seen many different workplaces either. I've been a professional developer for 3 years and 80% of the people I know use either vim or emacs. The difference between you and me however is that I'm aware that I have been to very few workplaces and don't assume that most people use vim or emacs because of my limited experience.
- turtlecloud 7y agoThe reason for choosing new technology on the developers part is for job security. If everything were still php you would have outsourced his job to India ages ago. The fact is that the developers need to do this because of the ding dongs mbas in management.
- fukpaywalls 7y agothat and the fact that every developer / engineer succumbs to the urge to re-invent the wheel
- terpimost 7y agoSo true about a website. The recent time I don’t even bother about hosting, I choose the most simple to manage and teach others. For a simple page there are services like https://tilda.cc https://tilda.cc . Gatsby suddenly improves Wordpress. And Kontent.ai is just a great editing experience with do_it_as_you_want frontend.
- pjc50 7y agoWe're back to "The boring solution has a long list of inconveniences and uglinesses that everyone knows about. If we chose the new solution, nobody would know where the bugs are and we can have exciting new ones." Really the problem is that the standard solution hasn't improved. Backends are still a hassle in the 2020s. People keep reinventing CGI. Every now and again I think "why doesn't someone just produce a simple standardised solution that would be cheap to host and easy to write", and have to lie down until the madness goes away.
- choicenotchance 7y agoThis makes me remember how annoying Django and its third party packages sometimes get. Say I want to spin up a simple project that: - has a few new fields for the User model, thus requiring to create a custom user model - has registration APIs (signup) requiring the new fields in User model - has authentication APIs (login, logout) but using a new field in the User model - has user authentication management APIs (change password, forgot password, etc) Enter DRF, and django-rest-auth. One would think that they will make your life easy. But hell no. Having a custom model and requiring their integration in the APIs provided thereby by rest-auth is a huge pain in the ass. First of all, allauth some how comes into play. Then, you have to write a funky new custom account adapter that replaces the one allauth uses by default Then, define custom serializers and views and urls for registration, login, logout, etc. And run into many other problems revolving around setting some X_Y_Z settings local to the third party package. It's truly mind boggling that this hasn't been solved yet. Maybe I'll just write something that does all that so that I don't have to cry in pain when using rest-auth and drf with Django for basic project already setup with custom user registration, and authentication and authentication management.
- deleted 7y ago[deleted]
- etripe 7y agoBackends are still a hassle? In what way do you feel Spring (Boot), ASP.NET Core and the like don't solve the problem adequately?
- 76543210 7y ago>Junior - mid engineers: EW WordPress! Doesn't that use PHP I related too hard. I had an intern say something like this but didn't give a reason. So I asked "why?". He couldn't give me an answer.
- agumonkey 7y agoI get what you say but WordPress is a weak example. It's so fragile security wise (especially if some plugin holds you back on updates).
- thrownaway954 7y agothe issue is that younger people want to do the use and learn the newest thing to advanced their careers, while us old timers just want to get shit done. you can't blame them, we we're all like that at one point, it's why we got into programming to begin with. this is one reason why i fully believe companies should have a give each developer a half-day or day to work on new thing for the company so that new developer get to scratch that itch without trying to force using something new just for the sake of using something new.
- ProZsolt 7y agoMy thought exactly. Also, if companies stop requiring 4 years of experience in a technology that came out 3 years ago in their job description that would also help. Instead, let people transfer from similar technologies and let them learn it on the job.
- dwild 7y ago>Seasoned engineer: Let's use any well-tested CMS such as WordPress and install a caching front-end. I thought that was your junior response... you update it once a month, seems like WordPress is seriously overengineered for something managed internally. Static website + a 1h ticket once a month seems much better. You'll save in performance, security, and it over a few years, it would take you less work time than doing a full WordPress. If it's more than once a month, now it may be more interesting to go toward a WordPress, but that would be doubtful.
- p_l 7y agothen you find out that you need to run the site HA for reasons, and you learn just how much of a shitshow it is with WordPress. Sincerely, someone with way too many Wordpress sites.
- collyw 7y ago> I think any seasoned software engineer has acquired the skill of successfully selecting the correct architecture for the project goals (even if it is _boring_ to actually work on). Some experienced developers get it, but I have argued with plenty who are busy keeping up with the hype cycle and resume driven development.
- shirakawasuna 7y agoHave fun getting junior engineers interested in PHP, an objectively gross language. You'll get a stable system to begin with, but nobody younger than 45 who wants to touch it. It also has a large attack volume and curated security exploits that you buy into when you inevitably use plugins. This article is about static HTML/CSS/JS. You can accomplish a good, modern CMS in halfway-decent languages using netlify and any static site generator framework you want without making your devs miserable.
- RileyJames 7y agoSee, the beauty of the solution suggested is that no one has to write any PHP (You could probably avoid even seeing any, if that's your goal). Wordpress does what is required out of the box. In fact, you don't even require a developer to do it. It's a point and click operation of selecting a theme, installing a cache add-on, add an SEO add-on, and hell, there's probably a "office hours" plugin as well. If the receptionist isn't a technophobe s/he can probably do it themselves. If you want to assign resources, get a designer in to make it look pretty. Wordpress has everything else covered.
- ymolodtsov 7y agoknow a number of products from venture-backed startups written in PHP where most of the team is usually between 25-35.
- drummer 7y agoWordpress is awesome except for gutenberg. They shouldn't have gone down that route.
- mettamage 7y agoApologies to be so late to the discussion (I come from HN search as I'm searching for a good solution to build a simple website). Why not use Wordpress --> static generator --> Netlify (aka free hosting)?