Wordpress vs coding - why devs SHOULD learn Wordpress

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
This is a question I get a lot. Should I learn wordpress to create websites or should I code them myself with html css and javascript? A lot of videos about this topic don't really seem to understand what wordpress is. There's a lot of misconceptions about wordpress. People think that it's a page builder that's only used to build simple websites and blogs, while if you want a custom web application we have to code that ourselves. But the reality is that you can actually create any kind of custom web app with wordpress at any level of complexity. I'm not sure if a lot of people know this, but wordpress is actually just a generic web framework. It's more similar to ReactJS or Django for python than it is to something like wix. And I always recommend developers to at least try wordpress. It's another framework, but it's very different from the frameworks that we would be using if we were custom coding a website. Different frameworks offer different levels of functionality. On the low end you have react js, which only renders your data. Somewhere in the middle, you have ruby on rails, which sets up a lot more of your app for you. And then on the far end of the spectrum, we have wordpress, which offers a ton of functionality out of the box that would save us months if not years if we were to recreate these functionalities ourselves. And by learning wordpress, we actually expand the opportunities that we have. We expand the amount of projects that we can take on. Believe it or not there are some websites that we simply can't create using custom code in a reasonable amount of time. If a local business asks us to create a website where they or their team can go on and add content to it, think about how many features that we would need to implement for them to have a website that's very usable. So a feature list could look like this. If we were creating this with custom code, it would literally take us years to do it. But with wordpress, this actually gives us the opportunity to take on projects like this. So to show you what wordpress can do and how much time it can save for us, we're going to go through an actual wordpress website. I'm going to walk you through and show you, visually, the features that wordpress offers, and try to explain the amount of time and work that these features save us. So let's say that we have an example wordpress website here. So we have a home page with a bunch of other pages. Let's say that we want to add a new page. So we're going to go through that flow, I'm going to show you all the features that we're going to encounter while doing this flow. So let's say that instead of using wordpress we're hand coding our website, and to add a new page we would have to create an html file, we had to write the html for our page, and we had to add some css if necessary. In wordpress the process is we log into an admin dashboard, and then inside the admin dashboard we just type out the content for the page, and it will create the page for us, without us having to modify any code. So let's walk through that workflow, and I'll show you all the features of wordpress. So the first step is to go to /wp-admin here, this is the url to our admin dashboard. And you'll notice that we first have to log in. And you can see already that wordpress gives us some really useful functionality out of the box. So it gives us user login flows and also gives us the password recovery flow. If you've ever coded this from scratch, you know that this is actually pretty painful to do. You have to figure out where to put your credentials, you have to figure out whether using JWTs or cookies, you have to figure out how to secure all of your resources from your api, and you have to figure out how to send those emails and reset those passwords. So wordpress pretty much takes care of all of that for us right out of the box. I'm gonna go log in right now and create a page and to show you some other features that wordpress has. So when we logged in, our credentials are linked to a user in our wordpress website, and we can see all of our users here. And we can actually create a lot of users and just view them all in our browser. Usually when you create your own website and you have users, you don't really have this ui where you can go through your users and look at details of each one. You actually have to build that ui separately too. Also, when we create a new user, at the bottom here we have different levels of access. So this is called role based access control, RBAC. This means that a user with administrator access has control to all of the website. We can change the settings, we can change the plugins. And a user with just a contributor access, they can only create new pages and create new content. So if you've ever written RBAC from scratch as well, then you know that this is actually also really really painful to create. So even if we were creating a custom website with javascript or python, or whatever the latest technology is, we would eventually still want to create this user login flow, we would want to create these access levels. So we can't escape creating these features if we custom code our website. So I'm going to show you how to create a page in wordpress now, we'll go into post, and we're going to add a new post, which is adding a new blog post. And you can see right away that we're not writing custom html, we're not writing html, we're not writing divs and p tags and buttons. We have this visual editor. If we were to re-implement this feature, let's say that we have a web app and we want our marketing team to be adding content to that web app, it will literally take us months to create this visual editor. So with wordpress you also get that out of the box. And you also get a lot of data associated with your post or your new page. So everything that you create in wordpress is linked to everything else in wordpress, you don't have to manually set up those links yourself in your database. So one other big feature that I want to show you is sort of the image gallery or the media, the media library in wordpress. So if you want to upload a photo or a picture to your blog, so let's say that I have a graphic here that I want to upload. And all I have to do is drag and drop into wordpress. So what that actually does is that it saves our image inside the media library, and now we can always have access to this image anywhere else on our site. So I don't have to worry about where do I save the image, you know, how do I distribute the image, how do I link the image to different data types in my database, wordpress takes care of all that for us. And another thing that people don't know about wordpress is that when we upload an image, especially a big image, wordpress actually creates multiple copies of it at different sizes, and it will take care of deciding which size to show to optimize our load time. So there's a lot of small optimizations going on, a lot of big architectural decisions that wordpress makes for us and gives us right out of the box, so that we don't have to do these things ourselves. So that's just a sample of some of the really valuable features that wordpress gives us right out of the box, we haven't even talked about the commenting system, or the moderation system, and the plugin system. Wordpress gives us so much functionality right out of the box that if we were to recreate this ourselves in a custom website, it will literally take us months if not years to recreate this functionality. But then a lot of people look at these features and they say it's nice, but you can only use wordpress to create blogs. If you want to create a custom web app you have to use html css and javascript, and you have to code it yourself from scratch. And that brings us to the second biggest misconception of wordpress, which is it's only used for creating blogs and content websites. So back in the day, everyone thought that wordpress was just for making blogs. And then a plugin called woocommerce came out and all of a sudden you can set up a store, like a complete store with a cart, and checkout process, and order history inside your wordpress website. And all of a sudden wordpress was now known for blogging and for e-commerce. But then another plug-in came out called MemberPress that turned wordpress into a learning management system. And another plugin came out called fusebox, which turned wordpress into a podcasting website. And there's probably a lot of real estate plugins that turn wordpress into a real estate listing website. The point I'm trying to make is that every time someone creates something new with wordpress, the definition of wordpress just sort of expands. But the reality is that with wordpress you can actually build any custom web app at any level of complexity. I'm not sure if people realize this but wordpress is actually a generic framework. You can build any web app you want with it. In fact, you can actually build youtube.com and ubereats.com the website, all built off of wordpress. And that's how we're able to create all these different plugins that do a lot of different things that are not necessarily related to blogging. And the way that this works in wordpress is that when you first install wordpress you have a data type in your database called a post. So inside the post this represents a blog post and inside the post you have a title, and you have the content, you have a lot of information related to a blog post. And then what you can do is, you can create a theme. So the misconception about themes is that it only changes the visual appearance of your website. But in themes, you actually create something called custom post types. So this is just like creating custom data types in your database. You can create a post type for a youtube video, you can create a data type for a channel, and create a data type for a playlist. And you can create custom apis for these data types in your database. So given that background you're just sort of creating data types in your database, and you can create any api you want to manipulate those data types, and how is that different from creating a web app from scratch with HTML CSS and JavaScript and some frameworks like ReactJS and NodeJS? There is no difference between those two. So what I want you to realize is that creating a website with wordpress is very similar to creating a website with any other framework. It's a generic framework. Now with that being said, I do want to say that even though I recommend learning wordpress, I don't recommend getting a wordpress job. The reason for that is that the job market for wordpress is utter garbage. And the reason for this is because wordpress itself is sort of in a weird market position. So if a company wants to create a complex web app, they could create it on wordpress, but these companies have enough money to hire a team of developers to create the web app on some other modern technology. And so the companies that actually have a lot of money, don't spend it on wordpress apps. And the other kind of companies who don't really want to make complex apps with wordpress, like your local restaurants, or your local your local fitness coach, they usually just use the core features of wordpress and they don't really go beyond sort of the blogging features or the content management features of wordpress. So I hope that made sense to you. We learned that using wordpress is actually not that much different from custom coding our website and using another web framework. And we also learned that the reason that we custom code our websites is not because we can't create custom web apps on wordpress, it's because there is no market for wordpress custom web apps. And so that's why we stick to learning html css and javascript, because there's actually a job market for these technologies and for these skills. Thanks so much for watching my name is Simon from supersimple.dev I want to make a tech career possible for anyone. If you have any questions or comments please leave them down below. As always you can contact me at supersimple.dev/feedback I'll see you in the next one.
Info
Channel: SuperSimpleDev
Views: 6,347
Rating: 4.9551821 out of 5
Keywords: wordpress, javascript, hand coding, software development, software engineering
Id: zxXXC-vqWng
Channel Id: undefined
Length: 11min 3sec (663 seconds)
Published: Tue Mar 23 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.