4
21 Comments

Angular: to use or not to use?

The world of web development is rapidly evolving, and developers are constantly faced with making choices that can impact the success of their projects. One such choice is whether to use Angular, a popular open-source front-end web application framework developed and maintained by Google. In this post, we will explore the pros and cons of using Angular, provide an example of when Angular might not be the best fit for a business, and direct you to further resources for those interested in delving deeper into this topic.

Pros of Using Angular:

  • Robust Ecosystem: Angular boasts a comprehensive ecosystem with numerous libraries, tools, and resources that make it easier to develop and maintain applications.
  • Two-Way Data Binding: Angular's two-way data binding simplifies data synchronization between the model and views components, reducing the amount of boilerplate code required.
  • Dependency Injection: Angular's dependency injection system encourages modular and testable code by making it easy to manage dependencies between components.
  • Component-Based Architecture: Angular promotes a component-based architecture, allowing developers to build reusable components that can be easily combined to create complex applications.
  • Active Community: Angular has a large, active community and is backed by Google, providing developers with ample support, resources, and regular updates.

Cons of Using Angular:

  • Steep Learning Curve: Angular's complexity and a vast number of concepts can be overwhelming for beginners and may require considerable time and effort to master.
  • Performance: Despite improvements, Angular may not be the best choice for performance-critical applications or those that require real-time updates.
  • Bundle Size: Angular applications can sometimes be larger than those built with other frameworks, impacting loading times and performance.

When Angular is Not the Right Fit:

Consider a small business looking to develop a lightweight, single-page application with limited functionality and a focus on speed and performance. In this scenario, Angular's complexity and larger bundle size might be overkill, making a lighter framework like Vue.js or React a more suitable choice.

However, it's important to note that Angular can be an excellent choice for a wide range of applications, particularly those that require complex, feature-rich interfaces, or are part of larger-scale projects. Successful examples of Angular implementation include Google Ads, Microsoft Office, and Upwork.

Deciding whether to use Angular for your web development project depends on your application's unique requirements and goals. Carefully weigh the pros and cons, and consider alternative frameworks if Angular does not align with your project's needs. To learn more about Angular and see additional examples of successful implementation, I recommend this article. So what do you think? Share your thoughts in the coments!

on April 12, 2023
  1. 8

    I have a different view here. If you thinking about your side-projects simply:

    1. pick the tech that YOU know well and helps YOU build fast
    2. prototype and show to potential customers
    3. if you have traction, rebuild on something more reliable
    1. 4

      I'm wondering if the rebuild step really happens! I mean, even for a personal project, finding the energy to rebuild something you already built is hard. But I definitely agree on (1) and (2)!!

    2. 3

      I did that back in the day. I knew Java EE (JSF 2, JPA, EJB, etc.). The product was absolute dog shit and there were all sorts of JSF-related issues, such as sessions timing out (nothing to do with the user logging in) and weird lifecycle stuff. The clunkiness didn't inspire confidence on the part of the potential customer, who ended up not becoming a customer.

      Two years later, I learnt React and haven't looked back.

      Sometimes you just have to upskill. If you're not experienced with front-end frameworks and looking to learn one so you can build something with it, your best bet is to learn React and Next.js.

      1. 0

        True but:
        If you are not embarrassed by the first version of your product, you’ve launched too late.

        – Reid Hoffman

        1. 3

          It’s just a quote, like “Great minds think alike” or “Fools never differ”. If your gut is telling you to hold back, you should at least take a moment to weigh up the reputational damage of launching something that’s not ready vs. the opportunity cost of missing out.

    3. 3

      I agreed with all points, but not the last, I guest rebuild something is very hard, specially if the product has some time running in production.

      1. 1

        I find a rebuild to be almost inevitable with most software that gains traction, if it's to be healthy. At least for portions of it. My theory is that the first implementation of an app is like giving birth. It's just the start of the app's development, not the completion. Your understanding of the product and the best way to deliver it changes once out in the real world. Frameworks grow and evolve, libraries become out of date, environments and build tools change, technical debt starts to clutter things up and soon enough, for the health of the software and your ability to maintain and develop it, it becomes worth the effort to clean house and rebuild knowing what you now know.

    4. 3

      Agree with this. Angular's "complexity and larger bundle size" will not be an issue for someone who's experienced in it and can get it up and running fast - which is the key metric here.

  2. 3

    I'm using Angular myself. It has significantly evolved recently to make it friendly to newcomers and highly recommended.

  3. 2

    The most important Pros of Angular in my mind is being a framework that will organize team works in an structured way and avoid adding some individual types of codes based on different programmers hand writings.

  4. 2

    If you're working on a large-scale web application and require a comprehensive framework, Angular may be a good choice. But if you're building a smaller project or prefer a lighter-weight framework, you may want to consider other options.

  5. 2

    Not to use. I have used both older AngularJS and Angular. It is bloated, over-engineered, slow, and cumbersome to use and learn. There are today much better alternatives, faster, simpler, and easier to replace if you find that they were a bad match. With angular you are locked in forever... I will never use it again.

  6. 2

    As someone who does Angular daily for a a running project of 5 years I find myself going to NextJS for MVPs because it's so easy to work on one file. I would stick to Angular though if you are a big team or are already familiar with it, lots of nice improvements coming

    1. 1

      If you haven't, you might check out Svelte for MVPs or simple stuff. I was doing the same as you: Angular for some mega projects, React/Nextjs for POCs and simple sites. I'll never use React/Nextjs again after Svelte and would stick to Angular or Vue for big projects and/or big teams.

  7. 1

    Angular can be a good choice for complex, feature-rich interfaces, but may not be the best fit for lightweight, single-page applications focused on speed and performance.

  8. 1

    Fireship just came out with a video about Angular :D
    https://www.youtube.com/watch?v=nQ2A30cD3Q8

  9. 1

    To use, a hundred percent. I've been using Angular from years now and it's for me a huge game changer in my projects

  10. 0

    Look up Angular on Google Trends and you will see that its popularity peaked in 2017-19.

  11. 0

    Old, overly complicated framework that no competent technical org would choose for a new project in 2023

  12. -1

    This comment has been voted down. Click to show.

  13. -1

    This comment has been voted down. Click to show.

  14. 1

    This comment was deleted 3 years ago

  15. -1

    This comment was deleted 3 years ago