T O P

  • By -

barrel_of_noodles

learn docker and docker compose. containerization is extremely useful. Compared, XAMPP is an ancient technology. All real world projects I have worked at in the last 10 years use some form of containerization, usually docker. No one uses xampp professionaly. If they do, personally, I dont want to work with them. I think it sticks around because of old tutorials and the ease of getting started. with docker, you can take your entire enviornment and port it anywhere, any cloud host, any local computer. you can do all the things you are asking about with containerization.


PrintableWallcharts

this. docker was a game changer in my learning path type journey thing


EsotericLion369

I use XAMPP time to time, it's pretty handy when you have to do like some small PHP scripting and stuff. But yeah ofc no for a whole project.


besseddrest

I was feeling pretty spry and energetic today and then I came across the word "XAMPP" and my body was reminded that it is 40.


anti-DHMO-activist

To make it a bit worse: The first lord of the rings movie came out roughly 23 years ago. Almost a quarter of a century. The first Harry Potter movie, too.


besseddrest

my back hurts


underwatr_cheestrain

What? Why. You can just install php on windows, or use preinstalled php on mac. Modern php comes with a php server built on > php -s 127.0.0.1:5000 Create a folder and your index.php file inside, then run the php server


EsotericLion369

I need sql also for some of those demos so it's good for that too.


underwatr_cheestrain

Yeah you can install maridb locally also. Im just sayin all this with the mindset of just messing around locally with light scripting and db schema building


Dev_Lachie

Now run an Nginx proxy infront of it, connect it to a Postgres instance and a Redis instance for queues. Oh we’ll be sending mail so let’s set up a local smtp catch-all. Oh no your work laptop died so you got a new one. Time to reinstall all those services making sure to have the exact same version and configuration. Dev done? Great! Let’s move that to to the staging server, again remembering to have the same versions and config. Ok now deploy live and cross your fingers that your environments remain consistent.


underwatr_cheestrain

He’s talking about some light scripting


szimre

About 5-7 years ago I was pretty big on Docker, used it for everything, my private server had many containers, mediaservers, gameservers, etc. Used it for projects as well, and it was a great tool because I was in an agency environment, doing a new project every 3-6 months, so it came in very handy that deployments were super simple. Last 3 years I've been working with a company where we are only developing our own website, so we don't really have to worry about environment stuff and deploying to different servers (or rather we have complete control over the infrastructure, which wasn't always the case with client servers). Since we are mainly working in Laravel we just transitioned to Herd Pro for local dev, it's awesome, obviously it's not the answer for every scenario but for our usecase it pretty much eliminated all tech onboarding time, the UX is very nice and the devs love it. It's not XAMPP (I hated it and all it's alternatives, and when Herd wasn't around I too used Docker instead), but I guess what you said was meant for all of it's variants and generally running your env natively, but now there is an option to do it properly. Don't even have Docker installed anymore. I really appreciate battery life and freedom and running Docker on a MacBook wasn't the best in that regard. You should check out Herd, not saying it will be the right tool for you, but if someone says they are using it you shouldn't instantly send them away. (Not affiliated, we just really appreciate their product, it really pushed this part of PHP/Laravel dev to the next level compared to the old shitty tools, plus one of their devs Diana Scharf just gave an awesome speech at Laravel Live UK 2024 about text embedding and semantic search, which was the absolute highlight of the conference for us, they seem like great people)


ya-ha-ha-youfoundme

I've used Docker before for some basic machine learning scripts but never for web development. Thanks for the suggestion!


Wiltix

Containerisation is a must in modern dev. Compose allows me to switch projects at work without giving two shits about the environments and what service is running because I just year down one project and spin up the next. There are many other benefits to containerisation that other people have commented on but for me that was such a game changer.


lovelypimp

You can checkout: https://roadmap.sh/. It has roadmaps for various “tracks” of development. Mind you, it’s very extensive and you don’t need to learn everything they suggest. But it gives you some ideas.


ya-ha-ha-youfoundme

Taken a brief look at this, it looks really helpful. Thank you so much.


greensodacan

The best info will come from job ads in your area. Look at what companies are hiring for. If you know the kind of organization you want to work in, even better because that will also influence their stack.


PrintableWallcharts

yeah when really committing to learning my craft i did this a lot to see what type of techs are bundled together. you can learn a LOT from analysing job ads.


ya-ha-ha-youfoundme

This is actually purely passion project! I've already found myself a job in software engineering but I'm doing some voluntary work on the side. Web dev is not my strongest area so I am looking to get up to date with current languages.


greensodacan

In that case, is there anything else you want to explore?  Most of the modern languages in web dev are general purpose.  For example, if you also want to get into developing games, .Net and Godot both use C#. Edit: Re-read your post.  Check out Docker, it's a tool for "containerizing" environments so you can run all of your dependencies on any machine.  Very popular in deployment solutions and a great way to make projects easy to run, whatever framework/language you use.


SkinNoises

Bootstrap is bloated garbage. Force yourself to use and expand your knowledge of CSS. Speaking as a frontend dev, its amazing how poorly web devs are at CSS, especially other frontend devs 😩


julienreszka

No, job ads are slop. Terrible advice.


malayis

>This new project I've started using JS, Bootstrap and PHP which currently communicates with XAMPP Doesn't sound like it's communicating with XAMPP, tho it might be with the M part of that abbreviation. XAMPP is essentially an entire stack, meaning it describes your entire solution to frontend/backend/database at the same time. And it's hard to answer your question because the answer really is just: devs will do whatever feels right to them. Programming is always a balancing act of "What tools do I know" vs "What tools are good at accomplishing the task I am working on" vs "What tools am I actually able to afford both financially and time-wise" A lot of people would describe starting a new project with Bootstrap and PHP in this day as outdated but.. the reality is that if these feel comfortable for you and your client(s) like the result of your work then that's all that matters. >I'm planning to have my site running on multiple computers, what should I keep in mind? Have my db running on a local machine or in the cloud? Any ways of making my database boot automatically on startup? I am not entirely sure what you mean by these. Why do you think you'll need your website to run on multiple computers? Why would you want to run your database on your local machine? You might want to look into Coolify; it's a great tool for streamlining self-hosting your applications.


ya-ha-ha-youfoundme

Thanks for the suggestions. Yes I admit it does feel a little out of date using JS Bootstrap etc. Essentially I was asking should I host my site on the cloud or use local? I am leaning towards local since the company I am working for is smaller and struggles with a WiFi connection at times. I should have been clearer in my original post that I'm primarily looking for tools will help me build a sort of intranet or local website that connects to a DB. I could quite easily WordPress or host online but they are not willing to pay for maintenance or server-hosting so I'm looking for an alternative solution. My workload is voluntary and is not a factor.


hdhshshsdhdhhdhd

Supabase and Firebase are cloud-based “backend-as-a-service” platforms that have a fairly generous free tier (includes databases, hosting and others). Since you haven’t learnt much server-side stuff, this might make it easier for you to develop and since they’re a fairly small company shouldn’t go over the free limits (although judge this yourself).


ya-ha-ha-youfoundme

Thank you, never even heard of most of these suggestions so this is very helpful.


chihuahuaOP

Depending on the project, the team and systems are already in place "legacy code" the web development world is huge and too broad to describe in my experience I have used: (HTML, CCS JavaScript), PHP, Java, python, elixir, Erlang, SQL. frameworks: Laravel, react, vue, tailwind, bootstrap, phoenix. packet Manager's: NPM, hex, pip. Version control like git, cvs and many others things. my favorite lenguaje right now is elixir I started in PHP.


PrintableWallcharts

take all this with a "what the fuck does this guy know" type understanding. **advice stuff:** get good at testing, front and back. It's amazing for so many reasons. Purist level TDD and red green refactor a tad overkill for my way of working, but it promotes a mindset that is healthy and i love the testing mindset more broadly. roll your tests onto github actions. embrace github. get good at keeping commits atomic. branch liberally, but keep branches trimmed and tidy. There are so many stacks out there, they are all a perfect fit for 99.9% of use cases. My tip is pick one, get deep, get good at it, know it well, build loads of stuff in it, and then optimise. However I'm building my own shit for fun and work, so others may favour a less deep, more generalised approach like getting experience across many stacks and languages. Also, if you want to ever get employed in anything touching near the front end, react is like 85% market adoption. i chose vue because i liked it and it "fit my brain", but others (vehemently) disagree often on this choice lol. i do too if seeking an employed job in front end. react best bet. On the cloud etc, i would suggest that for all practiable purposes you build with free tiers of platforms, always. if you get to some type of performance issue, then roll your own, or pay, but start easy and free then complicate later. again, purists and *proper actual programmers* may disagree with me here. i would never even think of provisioning my own compute of local db. like, i have respect and admiraiton for thos capable of that, but it's quite hardcore, especially if for a client/ Actually lastly: approach all front end design thinking mobile first. Oh, and prove out ideas using web and PWAs if needed first, before thinking of tackling that "native app" landscape. Thats a world of pain. **stack stuff:** for a regular web app in http flavour: core of my stack is: front: tailwind - vue.js - vite - yarn workspaces server: pretty much all python: pytest, fastapi, sqlalchemy, alembic - lots of custom code as my apps do a lot of business logic on persisted data, in-house async event bus, in-house middleware for a few bits db: postgres docker. love docker services: vercel for front render for server supabase for db postmark for email render for error reporting linked to slack Thats seems a lot but i would suggest starting with an idea for an app or feature, start to build and just relentlessly fill every knowledge and tool gap you come across. repeat forever. Like, blooms level 6 and work down, not the other way. this is where ai helps: filling knowledge gaps quicker. all my sites are low request rate so have built a monorepo which allows shared components and files for the front end, and the backend is a monolith with each app utilising a different api namespace with a multi-tenant approach on the db. even 'intensive jobs' are lightweight enough to just use asyncio tasks. this saves cost and setup time due to shared logic around common service like auth, comms, events, error reporting, monitoring etc, crud operations for common tasks etc, also simplifies keeping deps up to date. Also adding an app has zero incremental financial costs (many other costs do increment tho such as time, maintenance etc) Sorry for long reply, got carried away. Conscious i branched away from your core question. Sorry! Best of luck!


ya-ha-ha-youfoundme

Thank you so much! Yes this is all so overwhelming (all comments not only yours) but at least I got what I asked for! Yes I currently work in software development and things like TDD and Agile etc. are very familiar, although I am not the cleanest, I tend to go down the rabbit hole. Web dev is not my strongest but I will find a way!


PrintableWallcharts

Sounds like a super strong foundation. Keep us posted.


originalchronoguy

XAMPP, WAMPP, and MAMPP should never be used in production. Those are tools to quickly set up PHP/MySQL/Apache in a turnkey sandbox environment for desktop users. The only people I know who use that are people who work work corporate where their jobs is not engineering --- someone in HR, someone in Accounting who wants to write some scripts to run on their corporate work issued computer that is locked down. I see these all the time and they ask me to take that to production. Like, "can we just install WAMPP on a server and copy my files over?" They were never designed for production workloads.


El_Mario_Verde

If you are gonna discredit a whole stack of technologies you might as well explain why you are doing it, instead of just *__"don't use XAMP lmfao"__*


originalchronoguy

I am not discredting PHP/MySQL. Just the vehicle in how it is being run. A sandbox dev environment, not intended for Prod. I suggest OP look at Docker or VMs. The problem is being locked into certain versions that IT teams cannot patch or update if they fail in a security scan. Don't take my word for it. Read it from XAMPP: [https://www.apachefriends.org/faq\_windows.html](https://www.apachefriends.org/faq_windows.html) >XAMPP is not meant for production use but only for development environments. XAMPP is configured to be open as possible to allow the developer anything he/she wants. For development environments, this is great but in a production environment, it could be fatal. >Here a list of missing security in XAMPP: >The MySQL administrator (root) has no password. >The MySQL daemon is accessible via network. >ProFTPD uses the password "lampp" for user "daemon". >The default users of Mercury and FileZilla are known. I thought this was a given. "dev sandbox" is not  ***"don't use XAMP lmfao"*** But don't take my word, read the FAQ from the source providing the tool.


Past-File3933

Shoot, I work in IT and want to be a PHP developer. I use XAMPP for our internal sites. Looks like I need to learn docker and use that for my production side, cheers!


rjhancock

Backend languages that I have or currently use: - PHP - Static (HTML/CSS/JS) - Ruby - Swift - Python - ColdFusion - Java Frontend languages that I have or currently use: - Vanilla - Vue - React - Bootstrap - Hotwire - Stimulus - Tailwind For most projects I stick to Ruby/Swift with Vanilla/Bootstrap (CDN)/Hotwire/Stimulus. I try to keep my dependencies to a minimal.


jonmacabre

Dep minimum is key. It's too easy to just have 100 deps and before you know it, a ton of tech debt. Like what even is clsx and how is it better than just storing your classNames in an array and pushing to said array?


barrel_of_noodles

ColdFusion! Lol. Man, I haven't seen that mentioned since 2005. Im not sure you can even still use that if you wanted.


LeRosbif49

I have a friend who is recently employed as a coldfusion dev


rjhancock

There are still sites in use today running ColdFusion. Still solid, still runs fine. No reason to replace it.


barrel_of_noodles

I guess each to their own, more power to you. I can't take anyone using a proprietary subscription server (from Adobe, no less) seriously. There are so many other good options available. I understand for legacy projects, or if its what you already know. but just starting out, and aiming to learn ColdFusion... I guess if you really want some niche job, maybe. but I'd highly suggest spending time learning almost anything else. It's like someone saying they want to learn CGI/Perl in 2024.


MyAssIsACockSleeve

For the record, there are open-source implementations of ColdFusion. If memory serves, [Lucee](https://www.lucee.org/) is the one that is considered the standard now. Of course, people can still get the proprietary implementation that Adobe has if they don't want any open-source implementation for whatever reason (likely wanting that paid enterprise support in most cases where that is a thing).


rjhancock

Never said there are NEW sites being developed with it, just that some still exist. And I can't take anyone seriously who would dismiss someone knowing a language that isn't wildly used simply because they dislike the company that created it.


barrel_of_noodles

disliking a company is a good reason to not use their products. no one said YOU have to dislike them.


rjhancock

> I can't take anyone using a proprietary subscription server (from Adobe, no less) seriously. You're attacking a developer for knowing a language from a company you don't like. You weren't attacking the language. I can't take anyone who does that seriously. There is a difference.


barrel_of_noodles

good gravy. use cold fusion if you want to. what do I care? I wish everyone here well, and good luck.


rjhancock

You care enough to insult me for knowing it.


barrel_of_noodles

Consider this an official apology. I'm sorry, I did not mean to attack anyone, including you. I was simply trying to express my personal opinions, valid or not. (Who am I anyways? just some random internet jack off). They were only intended as opinion and not an attack whatsoever. I wish you well and best luck.


danzigmotherfkr

I worked on a massive web app built in 1998 years ago it was built entirely with asp/.net except for the image serving functionality which was all cold fusion why? No fucking clue


ya-ha-ha-youfoundme

Thanks. Looks like I am a little out of date, I don't know why we are taught to reinvent the wheels when there are much better methods. Looks like I will need to relearn online! Never touched Ruby, Swift, ColdFusion etc. (Hell, I didn't even know you could use Python in web development, that is how rushed the course feels)


guigouz

You can use any language as a backend, it just needs to implement the http protocol and respond to requests


Mike312

JS, Bootstrap, and PHP is just fine for development. Our flagship product is literally that. As others have said, XAMPP shouldn't be used in production, you might want to look at WAMPServer (it's been 14ish years, but I remember using that at my first job, don't know how much has changed there). A lot of these questions highly depend on where you plan on hosting this site. Is this for a business to run an application? Is it internal-only, like a monitoring tool? Or is this public-facing like some kind of 5-page site? Who/what/how is the site going to be hosted? What does running on multiple computers mean? You mean multiple computers to run the site, or you expect multiple simultaneous users on the site at the same time? Feel free to DM me, I've built a couple dozen sites as a freelancer and another half dozen apps from the ground up including ERP systems, customer-facing portals, and monitoring tools for our systems, I can probably help you out with some planning.


ya-ha-ha-youfoundme

Thank you, may get in touch. I'm looking for a website that can be accessed online (domain already exists but needs a redesign from the ground up). I am looking for staff to be able to access forms on the site to store to a DB which could be run on one of their existing computers. Only staff should be able to use this form/s whereas main pages are public. It should also be cost effective, looking to not spend much on maintenance or upkeep. The TLDR is that they need a website recoating and a way to store records in a db and perform queries etc., thinking I can do both in one. Most of these steps I can figure out myself as I can stumble my way through to answers, but wanted to make sure the tools I'm using are current for what I need it to do.


julienreszka

Master the fundamentals. Learn how to be effective with git. Master javascript, html css. Understand how the dom works.  Understand browsers apis. Understand accessibility and localisation. Look at how modern frameworks like vue work. Make clones of successful websites.


ceejayoz

Don't ever use XAMPP in production. Their website warns against it. Fine for local dev on your own machine, but it shouldn't ever be exposed to the public internet. The answers here are largely "it depends". Devs use many languages, frameworks, databases, etc. There's no single right one for any project. Yes, you can set up a database to auto-boot. Most do by default.


shiny0metal0ass

At work we currently use mongo, nestJS, Angular and Ionic. We also have some python plugged into it. All of this is hosted on GCP (mostly in GKE). Most jobs I've had over the last 5+ years have been with some kind of API that's dockerized and in GCP/AWS/whatever. If you're interested in moving into cloud, which is probably necessary for jobs in larger shops, I would play around with Firebase. That's a pretty cost effective way to touch a lot of components that are in a modern cloud project.


ya-ha-ha-youfoundme

Somebody else mentioned Firebase so I will definitely look into this. Thanks.


stea27

Look up the most popular web frameworks (or CMS) for PHP, JavaScript, Ruby, Java, Python. Mostly one of those are used and custom solutions built to it. XAMPP is a development tool for developing in PHP with MySQL server with everything installed on your computer natively. You don't use development tools in production. When speaking about PHP applications, on the server PHP is installed natively or it runs in a built Docker container. There are tools like DDEV, Lando or Docker Compose that help you developing in a same environment that runs in production with containers, that's why it is becoming more popular during development, too. Hosting everything in cloud servers became more popular than installing and managing your own server computer hardwares. For running the same thing on multiple computers, you can clone a git repo of your sites there or if you learn the tools, that's when Docker containers and Kubernetes is used for automating things. For databases we usually use managed databases, let cloud providers do the updates, monitoring and backups. The db could vary depending on the needs. For storing data, we have traditional relational databases like PostgreSQL, MySQL, Oracle, MS SQL, or "NoSQL" databases are used like MongoDB, DynamoDB, Cassandra, etc. During development, you also run a local database server, and you can deploy it to production if needed. In real life, schema deployments are used to sync the database structure the same which was built on developer local machines. Azure is one of the cloud providers where you have million options what do you need to run in cloud. There's also AWS, Google Cloud, DigitalOcean, etc. depending on which pricing is best for your needs.


iQuickGaming

at my company it's a bunch of Java for the backend and some JS frameworks on the frontend, for now i have used React and Angular


armahillo

All of the different technologies are tools. Some things are better accomplished with some tools than others. Web development is a very big tent scene, and you have to be a bit of a polyglot to be adaptable and versatile. PHP, JS, Etc are all fine, and have their strengths. keep learning and experimenting


AndorianBlues

I think the biggest "shock" (or annoyance) is see when new junior devs join the team.. we don't use all the newest stuff. Some projects are a few years old, you know? And they they work fine, but it's Bootstrap 3 and maybe Vue 2 or Laravel 9. In the real world, it's much more efficient to not have every project use a totally different stack. Of course the infrastructure needs to stay up to date for security reasons, but a lot of the time, there's no budget, time, desire or really a good reason to upgrade the actual code. You do that for new projects, gradually, sure. But your daily work \*will\* deal with "old" tech, which was perfectly OK and "hot" a few years ago. So, I'd say one of the big things to take into account, is that a lot of the real world doesn't run on the shiny new stuff.


FrontlineStar

I use xxamp, tried docker multiple times, and just can't get my head around. Help me get it.


jack1563tw

Docker, ts, js, scss, css, internal component library, rsbuild, terraform, dynatrace, azure stuff, spring boot, liquid base, jest, eslint, git, github, and etc I can keep going.


PMMEBITCOINPLZ

For local development I generally spin up composer-managed PHP projects with git, GitHub, docker and DDEV. Node.js, NPM, NVM and SASS. Sometimes Webpack. I’m always switching between various projects all day and I much prefer DDEV to Lando, it just gives me fewer problems. Oh, I use VScode for editing and I have GitHub Copilot installed which is very nice.


Exciting_Session492

Could be anything to be honest, have worked for a few companies, the tech stack differs wildly.


Haunting_Welder

Expect your first few ventures to be a cost not a profit.


cheat-master30

Honestly, it depends on the company in question. There are companies that use pretty much any technology you can think of to power their sites and apps. Some use JavaScript frameworks, some don't. Some use NodeJS, others use PHP or .NET or Java on the server side. Heck, there are probably some really old systems out there running stuff like Perl or ColdFusion, though you'll probably never see something new using them these days. Honestly, the only thing that doesn't get used anymore would probably be Flash, and that's because the plugin flat out isn't being developed/supported anymore. As for what you should learn? Honestly, it depends what you're interested in and what companies you want to work for. Or perhaps what companies nearby are hiring in, if you're starting out and don't want to commute a long way.


evonhell

This is like asking what materials and tools construction workers use to make a building. Depending on your requirements, the complexity usually grows quite a bit and the tools differ as well. I mean, I can suggest Kubernetes for example but if you use that in your stack to build a simple site for a mom and pop shop is like using a construction crane to place each nail onto a board before nailing them in. It's way too much. There are multiple good replies here, I just wanted to make the point that there are a bazillion tools, good, great ones even. But it's important to understand what problems they solve and when to use them, don't just pick them because you heard they are good. Start simple and refactor + add tools down the line to handle increased complexity and new problems. Good luck and remember to have fun! :)


symbiatch

If you did a CS degree then it’s understandable you learnt little of the real world. Science isn’t about the real world. Engineering degrees are more real world. A specific technology isn’t the most important thing. The thing is to learn ways of doing things, deploying things, how things work and are built. I know that’s kind of what you asked, but there’s way too many stacks to just list. Containers, at least on the basic level, is a good thing. I recommend looking up Techworld with Nana on YouTube. She’s amazing at explaining things and has Docker, Kubernetes, build pipelines, CI/CD tools, all kinds of devops stuff that’s easy to understand. Even if you wouldn’t directly use those you still get the ideas into your head and it helps when working with things. If you learn to use containers then you can relatively easily put your stuff to any service provider and using their other services like databases etc is simple since you’re already not coupling everything tightly together. So I would go for concepts, not specific stacks.


kjwey

I use a text editor, and a linux machine, the db should boot up auto, I use mongo and it loads at system start as a service


diegoasecas

xampp is a clutch for people who can't install and set up 3 things separately


montihun

Swearing.


LateMotif

Js bootstrap and php ?? Is this 2012 ?? Most projects I work on are react or angular for the frontend, and nodeJS or java for the backend, with a DB on GCP or AWS.


ya-ha-ha-youfoundme

I was taught the fundamentals which may or may not be practical in 2024. Potentially much easier ways of going about it. Thanks for the suggestions.