Best Framework for Web Development - The Bitter Truth πŸ˜’

CodeWithHarry
7 Mar 202411:24

Summary

TLDRThe video script offers guidance on selecting the right technology for building modern websites. It emphasizes simplicity for static sites, recommending tools like Wix, while advocating for React or Next.js for interactive, SaaS-oriented projects. For complex backends, it suggests using CMS like AppWrite, Strapi, or Sanity to avoid custom code pitfalls. The script also covers various tech stacks, advising on their appropriate use cases, from PHP for simple forms to Python's FastAPI for granular control, and touches on hosting solutions like xCloud. It concludes with insights on when to use WordPress, and thoughts on frameworks like Vue.js, Angular, and ASP.NET, advocating for React and Next.js as preferred choices for most modern applications.

Takeaways

  • πŸ˜€ For simple static websites, consider using Wix or other online website builders.
  • πŸ› οΈ If building a complex or SaaS product, avoid simple builders and opt for technologies like React or Next.js for better interactivity.
  • πŸ’Ύ For complex backends with various data storage needs, consider using backend-as-a-service platforms like AppWrite, or CMS like Strapi and Sanity.
  • πŸ”‘ If you require granular control over your website's backend, use MongoDB and Express.
  • πŸ“š For database-intensive applications with less frequent database interaction, AppWrite can be a good fit.
  • 🧐 Be cautious with npm packages, as they can sometimes contain poor code or become deprecated.
  • 🌐 If your website is primarily for blogging and content creation, WordPress is recommended with a focus on quality themes and plugins.
  • πŸ€– For incorporating AI and ML, Python with frameworks like FastAPI, Django, or Flask is suggested depending on the level of database interaction required.
  • πŸš€ For a fast user experience with minimal page reloads, React and Next.js are recommended.
  • βš™οΈ If you prefer not to manage backend development, backend-as-a-service options like AppWrite, Strapi, and Sanity.io can simplify the process.
  • πŸ”„ When choosing a technology stack, consider the complexity of your project, the need for database control, and the desired user experience.

Q & A

  • What is the main advice for choosing the right technology for a new website?

    -The main advice is to select the simplest technology that fits your use case. For a static website, online builders like Wix can be used, but for more complex websites, specialized technologies are required.

  • What is the significance of using React or Next.js for a website?

    -React or Next.js are recommended for websites that require a good user experience and interactivity, as they enhance the dynamic aspects of the site.

  • Why might AppWrite be a suitable choice for a website's backend?

    -AppWrite is a backend as a service that can be used when you need to maintain a complex backend with different tables in the database for storing user, customer, and admin data without having to write backend code from scratch.

  • What is the advantage of using a CMS like Strapi, Sanity, or AppWrite?

    -The advantage of using such CMS is that you don't need to write backend code, reducing the risk of writing bad code that could negatively impact your business in the future.

  • Why might a developer choose MongoDB and Express for their website?

    -Developers might choose MongoDB and Express if they want granular control over their website, especially when using Next.js and need to handle database operations directly.

  • What is the recommendation regarding the use of NPM packages with Express or Next.js?

    -It is recommended to be very careful with the NPM packages used, as poorly written or deprecated packages can negatively affect the functionality and performance of the website.

  • When is it appropriate to use PHP for a website?

    -PHP is appropriate when creating a website with a form as the only backend requirement, especially if the rest of the site is static or made with tools like Bootstrap, Tailwind, or CSS.

  • What are the primary considerations when choosing between Python options like FastAPI, Django, and Flask for a website?

    -The choice depends on the need for granular control, ease of database connection through ORM, and the intensity of database operations or data processing requirements.

  • Why is Next.js recommended for improving user experience and page load speed?

    -Next.js is recommended because it simplifies React development, making it easier to create fast-loading pages with good interactivity without the need for frequent page reloads.

  • What is the stance on using WordPress for a website?

    -WordPress is recommended for creating blogs or websites focused on content generation, especially when ease of use and a plethora of plugins are beneficial.

  • What are the considerations for using Vue.js, Angular, or ASP.NET for a new project?

    -The choice depends on the specific requirements of the project, existing organizational preferences, and the complexity of the application. However, the market preference and ease of use are generally leaning towards React and Next.js.

  • Why might Django REST framework be a suitable choice for creating APIs?

    -Django REST framework is suitable for creating Python APIs, especially when the project involves data science and machine learning, and requires CRUD operations with good documentation and syntax similar to Django.

  • What is the current perspective on using Ruby on Rails for new applications?

    -Ruby on Rails is still appreciated and updated frequently, but it is considered to be lagging behind in comparison to React, Next.js, and even Angular in terms of popularity and usage for new applications.

Outlines

00:00

🌐 Choosing the Right Web Development Technology

This paragraph discusses the selection of web development technologies based on the complexity and purpose of the website. For simple, static business websites, online builders like Wix are recommended. However, for more complex or product-oriented websites, especially SaaS, using frameworks like React or Next.js is advised for better interactivity. The importance of a good user experience and backend maintenance using services like AppWrite or CMS platforms like Strapi and Sanity is highlighted. The paragraph also touches on the use of MongoDB and Express for granular control and the caution required when using npm packages due to potential issues with deprecated or poorly written code.

05:02

πŸ› οΈ Exploring Backend and Frontend Technologies

The second paragraph delves into various backend and frontend technologies, offering guidance on when to use each. It starts with discussing the use of PHP for simple websites with forms and static content, mentioning xCloud as a recommended hosting service with a focus on WordPress. The paragraph then explores Python's role in AI and ML projects, recommending FastAPI for granular control and Django for ORM-based database interactions. It also covers the use of Next.js with React for improved user experience and page load speed, and the option of backend-as-a-service platforms like AppWrite, elacloud, Strapi, and Sanity.io. The discussion extends to the use of WordPress for blogging and content creation, and touches on the use of Vue.js, Angular, and ASP.NET, with a preference towards React and Next.js due to market trends and ease of use.

10:02

πŸš€ Advanced Frameworks and Final Recommendations

The final paragraph provides insights into advanced frameworks and technologies, including Django REST framework for Python APIs, especially when integrating data science and machine learning. It also mentions Ruby on Rails, acknowledging its updates and community appreciation but noting its relative decline in popularity compared to React, Next.js, and Angular. The paragraph emphasizes the importance of choosing the right technology based on the project's complexity and specific requirements, and invites viewers to share their thoughts on the best programming languages or frameworks for different types of web applications. It concludes by thanking the audience for watching and expressing a desire to learn from their feedback.

Mindmap

Keywords

πŸ’‘Website

A website is a collection of related web pages, including multimedia content, typically identified with a common domain name and published on at least one web server. In the script, the creation of a website is the central theme, with discussions on choosing the right technology based on the complexity and purpose of the website.

πŸ’‘Wix

Wix is an online website builder that allows users to create HTML5 websites and mobile sites through the use of online drag and drop tools. The script mentions Wix as a suitable option for creating simple, static websites for businesses that primarily need an online presence.

πŸ’‘SaaS

SaaS stands for Software as a Service, a software licensing and delivery model in which software is provided on a subscription basis over the internet. The video script suggests that if the website is a SaaS product, using simple builders like Wix is not appropriate due to the need for more complex features.

πŸ’‘React

React is an open-source JavaScript library used for building user interfaces, particularly single-page applications. It is mentioned in the script as a technology to consider for websites requiring interactivity and a good user experience.

πŸ’‘Next.js

Next.js is a JavaScript framework for building user interfaces and web applications with React. It is highlighted in the script as a modern framework that simplifies the process of writing React applications and provides server actions through APIs.

πŸ’‘Backend

In the context of the script, a backend refers to the server-side of a website, which includes the database, application logic, and server. The script discusses the need for a backend when dealing with complex websites that require storing and managing data.

πŸ’‘CMS

CMS stands for Content Management System, a software application or a set of related programs that are used to create and manage digital content. The script mentions CMS options like AppWrite, Strapi, and Sanity as alternatives to writing backend code, especially useful for those without backend expertise.

πŸ’‘MongoDB

MongoDB is a document-oriented NoSQL database designed for high volume data storage and retrieval. The script suggests using MongoDB for websites that require granular control over the database and are database-intensive.

πŸ’‘Express

Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. It is mentioned in the script as a part of the technology stack for websites that need direct database integration and granular control.

πŸ’‘NPM Packages

NPM stands for Node Package Manager, a package manager for the JavaScript programming language, and is the default package manager for the JavaScript runtime environment Node.js. The script warns about the potential issues with NPM packages, such as poor code quality and deprecation, which can affect the stability of a website.

πŸ’‘WordPress

WordPress is a free and open-source content management system written in PHP and used on the LAMP (Linux, Apache, MySQL, PHP) stack. The script recommends WordPress for creating blogs and content-focused websites, emphasizing its ease of use and extensive plugin ecosystem.

πŸ’‘Vue.js

Vue.js is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications. The script mentions Vue.js as a great framework but suggests that React and Next.js are more aligned with market preferences and ease of use.

πŸ’‘Angular

Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google. The script acknowledges Angular as a constantly evolving and great framework but suggests that it may not be the first choice for new projects due to market preference for React and Next.js.

πŸ’‘ASP.NET

ASP.NET is a web application framework designed for web development to produce dynamic web sites, applications and services. The script suggests that while ASP.NET was once considered modern for web applications, it may not be recommended for new projects unless there is a specific reason to use it, such as existing infrastructure on Windows-based systems.

πŸ’‘Django REST framework

Django REST framework is a powerful and flexible toolkit for building Web APIs in Django, a high-level Python Web framework. The script recommends it for creating Python APIs, especially when integrating data science and machine learning capabilities into existing systems.

πŸ’‘Ruby on Rails

Ruby on Rails, or simply Rails, is a server-side web application framework written in Ruby that follows the model–view–controller (MVC) framework. The script acknowledges its past popularity but notes that it has somewhat fallen behind in comparison to React, Next.js, and even Angular in terms of current usage and preference.

Highlights

Select the simplest technology for your use case when making a website.

Use Wix or an online website builder for static business websites.

Avoid Wix for complex websites requiring advanced features.

Consider whether the website is your product, especially for SaaS offerings.

For interactive websites, use React or Next.js to enhance user experience.

AppWrite is a backend as a service for managing complex backends and databases.

CMS like Strapi and Sanity eliminate the need for backend code writing.

Use MongoDB and Express for granular control over your website's database.

Next.js provides server actions through APIs for a seamless development experience.

Be cautious with npm packages due to potential bad code and deprecation.

PHP is suitable for websites with forms and static content using frameworks like Bootstrap or Tailwind.

xCloud offers $0 starting hosting with features optimized for WordPress.

For websites incorporating AI and ML, Python with FastAPI or Django is recommended.

Django is preferable for data-intensive applications due to its ORM capabilities.

Flask is a good choice if specific packages are available for your use case.

Next.js simplifies React development and is recommended for better user experience and fast page load.

AppWrite and other backend as a service options can handle backend responsibilities without custom code.

WordPress is ideal for blogging and content creation, with a wealth of plugins and themes available.

Vue.js and Angular have their merits but are less preferred in the current market trend favoring React.

ASP.NET is suitable for Windows-based systems but is not recommended for most modern applications.

Django REST framework is excellent for creating Python APIs, especially for data science and machine learning integration.

Ruby on Rails, while appreciated, is lagging behind in comparison to React and other modern frameworks.

Transcripts

play00:00

Guys, if you are thinking of making a website in the modern era,

play00:02

then today I will tell you which technology you should use

play00:06

and on what basis you should shortlist the technology for your next website.

play00:10

So I will tell you that you have to select the simplest technology for your use case.

play00:15

For example, if you are making a static website for your business,

play00:18

then you can use Wix, you can use an online website builder

play00:23

as long as your work is only to take your business online, to make an online website builder as long as your work is to make your business online.

play00:29

But the technique I told you is only applicable when you want to make a simple website.

play00:34

If you want to make a complicated website, then you can't use Wix or any online builder.

play00:41

Because you need the same features for your website.

play00:45

So the thumb rule is that is your website your product?

play00:48

If you are making a SaaS through your website,

play00:51

Meaning software as a service, then you can't do this thing.

play00:54

You can't use builders etc.

play00:56

Then you need a good user experience.

play00:58

For that, you will use react or next.js because it brings interactivity to your website.

play01:03

Sometimes you will have to make very complex backends.

play01:06

You have to make different tables in the database.

play01:08

Suppose you have to store user data,

play01:10

You have to store the data of your customer,

play01:11

You have to store the data of the admin.

play01:13

If you have to do all these things separately,

play01:14

Then you will have to maintain a backend.

play01:16

Which will store the data in the database.

play01:18

In this case, you can use AppWrite.

play01:20

Which is a backend as a service.

play01:23

Or you can also use CMS like Strapi, Sanity

play01:27

The advantage of using such CMS is that

play01:29

You don't need to write a backend code at all

play01:32

And if you don't have expertise

play01:34

There is a good chance that you will write a bad code

play01:37

Which will ruin your business in the future

play01:40

So better use CMS like AppWrite, Sanity and Strapi

play01:44

But if for some reason you want granular control on your website,

play01:47

then you have to use MongoDB and Express.

play01:50

If you are using Next.js,

play01:52

then you need to use React and Express separately.

play01:55

Next.js is inbuilt.

play01:58

It provides you with things like server actions through APIs

play02:01

which you can read through my course.

play02:03

But in general, I just want to tell you that if you are making a product that is dependent on your website.

play02:11

Basically, you are selling technology.

play02:13

Then you will use React's Next.js.

play02:16

And if your website is very database intensive and you need granular control of the database.

play02:21

Then you will not use the app write.

play02:23

But you can use the database directly.

play02:26

You can integrate a database like MongoDB seamlessly with your website.

play02:31

If you want granular control chain data.

play02:34

If you don't know how much data you will use in the future.

play02:36

If you are using tons of data and storing it.

play02:38

Then you will have to install a separate database.

play02:40

Which has very low workload.

play02:42

You don't have to do much database intensive task

play02:45

App write should be good to go.

play02:46

Now if you are using express or next.js

play02:50

Then you will use npm packages

play02:52

And you should be very careful with the npm packages you are using

play02:56

The reason for that I tell you that sometimes npm packages are written very badly

play03:00

That is, there is bad code in it and they get deprecated

play03:03

And sometimes they stops working.

play03:06

In this case, you have to be very careful with your NPM packages.

play03:08

Because if a bad NPM package is coming in your good code, you don't want that.

play03:13

Now I will list some stacks and tell you when to use them and when not to use them.

play03:18

Now I will tell you when to use PHP.

play03:21

If you are making a website in which you have a form

play03:25

and this is the only thing you have to use in the backend

play03:29

that is, you have to send the data to the database

play03:32

through a form and the rest your website is completely static

play03:34

or made through bootstrap, tailwind, CSS

play03:37

then you can use PHP

play03:38

because first of all, you get PHP pre-installed

play03:41

on almost all the web hostings

play03:42

and along with that you get to you get to easily code in single file

play03:47

Simply drag and drop your files and your website gets hosted

play03:50

Talking about hosting, I want to talk about xCloud

play03:53

Which is an amazing hosting

play03:55

And you can get it at a discounted price

play03:58

Through the link given in the description

play03:59

So before moving forward in the video, I will tell you a little more about xHost

play04:02

Let's go to the computer screen

play04:03

So guys, the biggest feature of using Xhost is that

play04:06

you get to start with $0.

play04:10

Meaning if you already have a server,

play04:12

then you can unlock its initial features free of cost.

play04:16

If you are making your website on WordPress,

play04:18

then this is the best hosting out there.

play04:20

Because it has a lot of WordPress-focused features.

play04:23

Like optimized deployment, easy migration, Easy Migration, One Click Backup

play04:26

You get SSL Management

play04:28

So that you get to see HTTPS

play04:30

Whatever you host on your website

play04:32

Their documentation is very amazing

play04:34

You get to see a lot of quick start guides

play04:37

So that you can easily get the answer to your question

play04:41

xCloud has partnered with Walter

play04:43

So that you get free hosting for 6 months

play04:46

Unlimited sites

play04:48

For more information, you can use the link given in the description

play04:52

And you can sign up on xcloud.host

play04:55

Now let's move back to our topic

play04:57

Now if you are using a little bit of AI and ML

play04:59

Then I will tell you to use python to make your website

play05:02

There are three options primarily

play05:04

Task, Django and fast API.

play05:05

I will recommend fast API if you want to take granular control of your application.

play05:10

But if you want to use ORM which makes it easy to connect you to the database.

play05:16

Then you will use Django.

play05:18

If you find yourself hitting the database many times.

play05:21

The operations are going on in the database.

play05:23

Sometimes you are saving the user, sometimes you are editing, sometimes you are deleting something.

play05:27

When all these things are very much yours and your application is data intensive,

play05:31

It is doing some kind of data processing or using machine learning API,

play05:35

Then you will use Django while staying in Python.

play05:38

Because Django has a very good ORM.

play05:40

Otherwise, I recommend fast API.

play05:42

Python flask is also a very good choice if you have a good reason to use it.

play05:46

For example, if a particular package of flask is available for your use case,

play05:50

then don't hesitate at all, you can use flask.

play05:53

Now, if you want a better user experience and you want the page load to be fast in your application,

play05:59

then you go towards react and next.js.

play06:02

So, I will recommend next.js to you guys to use react. Next.js so next.js I will recommend to you to use react

play06:05

next.js is a react framework

play06:07

there is no big rocket science in learning next.js

play06:10

you can use next.js after learning react

play06:12

and you will know

play06:14

writing react is so simple with the help of next.js

play06:17

now if you don't want to write backend

play06:19

then as I told you

play06:20

you can use backend as a service like appwrite

play06:23

appwrite will do the heavy lifting of your backend.

play06:26

Just write frontend.

play06:27

With the help of next.js in react,

play06:29

It is very convenient to connect to appwrite and make your application.

play06:33

If you want to give a good user experience,

play06:35

If you want to give good interactivity,

play06:36

If you want your page not to load again and again,

play06:39

When you are serving any data to the user,

play06:41

Or anything is getting interactive in the application,

play06:43

You want to load it quickly,

play06:44

Here the chat message is coming, Here the notification is coming without in the application You want to load it quickly, if there is a chat message coming here

play06:45

If there is a notification coming here without loading the page

play06:47

For that we mainly use react

play06:49

Next.js is a modern framework of react

play06:52

I will recommend you to use next.js

play06:54

If you don't want to have a lot of granular control in the backend

play06:57

I recommend appright, elacloud

play06:59

Then we have strapi, sanity.io

play07:02

These are all our backend as a service.

play07:05

CMS is one of them, you can take them in your use.

play07:09

In general, your backend is taken in your responsibility.

play07:13

You don't need to write your backend from scratch.

play07:15

Simply, by using their APIs and packages, you can store your data on their cloud.

play07:21

Now let's talk about WordPress. Should we use WordPress?

play07:23

I would say that you talk about WordPress. Should we use WordPress? I would say yes, if your main job is to create a blog,

play07:27

if your main job is to generate blogging income,

play07:30

then make a blog using WordPress.

play07:32

Don't use Elementor in small steps,

play07:34

don't read in any framework, be it Flask, Django, React, Next,

play07:37

throw everything aside and focus on your primary goal which is your content.

play07:41

Because you are coming to the market to write content.

play07:44

Install WordPress

play07:45

Make a blog

play07:46

Put a good theme

play07:47

Give your website a good look and feel

play07:49

Tons of tutorials are available

play07:50

Text tutorials

play07:51

Video tutorials

play07:52

You can make your website by watching them

play07:55

And I will say don't think about using WordPress only

play07:58

If you want to make a blog

play07:59

Because plugins are very good

play08:00

Yes, plugin bloat happens sometimes

play08:02

There are pros and cons of WordPress

play08:03

I have made a video on it too

play08:04

You can also watch that too.

play08:06

Why would you use a sledgehammer to kill a mosquito?

play08:08

If your work is content and you want to earn money from blogs,

play08:11

then you guys use WordPress.

play08:13

Now I would like to talk about some other technologies.

play08:16

Should you also use technologies or not?

play08:18

First of all, Vue.js and Angular.

play08:20

Angular is a TypeScript-based framework.

play08:22

I personally will never use it.

play08:24

I mean, I will not do it in the near future.

play08:25

I don't know what we will do in the future.

play08:27

But I like React with Next.js better than Vue.js and Angular.

play08:30

But if you have a good reason to use Vue or Angular.

play08:33

For example, if your organization has apps made in Vue or Angular.

play08:37

Then you don't have to tell me this.

play08:39

It won't make any difference.

play08:40

I will tell you to do Next.js and React.

play08:43

Vue.js is a great framework.

play08:44

Angular is also a very good framework. It is a constantly evolving framework. We have to worry about it. I will tell you to do Next.js and React. Vue.js is a great framework. Angular is also a great framework.

play08:47

It is a constantly evolving framework.

play08:48

We have to accept this.

play08:49

But the preference of the market and the ease of use is going towards React.

play08:53

So if you don't have any reason to use Angular and Vue,

play08:57

then don't go towards Angular and Vue.

play08:58

Now I will talk about ASP.NET.

play09:00

Earlier, many apps were made in ASP.NET.

play09:02

Mostly web applications were considered modern to make using ASP.NET. Mostly web applications were considered modern by using ASP.NET.

play09:06

But I won't recommend it today.

play09:08

But if you are using Windows based systems like Azure cloud.

play09:12

Or if you are using Windows based hosting primarily.

play09:16

Then I would say you can use ASP.NET.

play09:19

Otherwise I don't think you should use ASP.NET for modern applications.

play09:23

Until and unless you have a good reason to do it. Because if it is being used in your organization then you will use ASP.NET for modern applications. Until and unless you have a good reason to do so.

play09:25

Because if it's being used in your organization,

play09:27

then you will definitely use ASP.NET.

play09:29

Now I'll talk about Django REST framework.

play09:31

If you want to make Python APIs,

play09:33

and you want to make APIs that use data science and machine learning through APIs in your existing system,

play09:40

then you can use Django REST framework.

play09:42

It's basically used to make CRUD APIs.

play09:45

And you write syntax like Django in it.

play09:48

It is a very amazing framework.

play09:49

Its documentation is very good.

play09:50

You can check it out.

play09:52

And if you are using technology like ASP,

play09:54

technology like Angular view,

play09:56

and you want to use Python's data science,

play09:57

machine learning power,

play09:59

then it is a very good choice to make APIs for you.

play10:02

Django REST framework.

play10:03

But again, there should be some complexity in your project.

play10:06

That's why I recommend this to you.

play10:07

Otherwise, you don't need to do anything small.

play10:10

If you want to get an average of 4 numbers,

play10:12

obviously, there won't be any Django REST API.

play10:14

Last but not the least, Ruby on Rails.

play10:17

It was considered a good framework.

play10:19

People appreciate it even today.

play10:21

It's constantly getting updated.

play10:22

If you open its website,

play10:24

you'll see updates very are coming very fast.

play10:26

From security updates to

play10:28

user preference updates,

play10:30

they keep giving. But somewhere

play10:32

this technology is lagging behind in comparison

play10:34

to React, Next.js, even Angular

play10:36

is being used more

play10:38

in comparison to Ruby on Rails.

play10:40

And primarily, you'll use Ruby language

play10:42

if you make your app in Ruby on Rails.

play10:44

So, somewhere the structure of the file and the development of the prototype is very fast.

play10:50

But if you ask me, I will not use it unless I have a good reason to use it.

play10:57

So that was about some of the technologies that you should use for which project.

play11:02

And what you should not use for which project.

play11:04

I hope you got a good idea of this thing

play11:06

If you liked the video, then do tell me in the comment section

play11:09

What are your thoughts about this

play11:11

Which programming language or framework should be used

play11:14

To make a particular web application

play11:16

Do give me your thoughts

play11:17

I also get a lot to learn from you guys

play11:18

That's it for now guys Thank you so much guys for watching this video and i will see you next time

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Web DevelopmentTechnology SelectionOnline BuildersSaaS CreationReact FrameworkBackend ServicesCMS PlatformsDatabase ManagementWordPress BloggingTech Recommendations