You are on page 1of 18

Table of Contents

Executive summary 4
Introduction 4
Background and present-day developments 4
Community Assistance 5

1
Efficiency 5
Structure 6
Functionality 6
Flux-Inspired Libraries  6
Data Integration: 7
Language 7
Evaluation: 9
Developing Mobile applications and websites: 9
Using angular and vue: 9
Which is better? 9

Website 1 9

URL 9
Purpose 9
Interactions 10
Framework 11
Deficiencies 11
Setup code 11

Website 2 12

URL 12
Purpose 12
Interactions 12
Framework 13
Deficiencies 13
Setup code 14

Website 3 14

URL 14
Purpose 14
Interactions 14
Framework 15

2
Deficiencies 15
Setup code 16

Conclusion 17

3
Executive summary:

The document compares Angular and Vue frameworks and aims to assist readers in
choosing the best framework for their front-end development projects.

Introduction:
 
Vue and Angular are front-end web development frameworks. A team of independent
developers maintains and creates Vue, while Google creates and maintains Angular.
These frameworks are used to build UI and web apps using HTML, CSS, and
JavaScript. They provide developers with a framework and tools to speed up the
process and produce more scalable and maintainable code. 

Background and present-day developments:

AngularJS, developed by Google in 2010, enables developers to create dynamic and


interactive web applications using HTML, CSS, and JavaScript. However, it has some
drawbacks, such as performance issues and a steep learning curve. In 2016, Google
introduced Angular 2 as a new version of AngularJS. In 2014, Evan You, a former
Google engineer, introduced Vue.js as a lightweight and progressive JavaScript
framework that uses reactive data binding, like Angular, but has a simpler API and a
shorter learning curve.

Vue.js is easier to use and more versatile than Angular, which is more reliable and
scalable. While Vue.js is popular with startups and smaller projects, Angular is more
common in business applications. Both frameworks are well-liked by developers and

4
have vibrant communities. The framework used will rely on the needs of the project and
the team's preferences. Users prefer vue over angular.

Percentage of people who


Framework preferred

Vue 60%

Angular 40%

Community Assistance:

The community support offered by various front-end development platforms,


frameworks, and libraries is an important consideration. The Angular community is
robust and active, with comprehensive documentation, recommendations, examples,
user groups, and third-party tools. Additionally, Vue.js has a vibrant developer and
contributor community, and its website offers a wealth of tutorials, support forums, API
references, and sample code. Both include informational materials to help developers
get started and assist with problem-solving.

Efficiency:

Angular is a strong framework that makes building intricate, large-scale apps possible,
but it has a steep learning curve and uses a two-way data binding approach that might
slow down performance. On the other hand, Vue is a quick-to-learn, lightweight
framework that provides quick performance thanks to its virtual DOM and reactive data
binding. Angular is generally better suited for large-scale projects with complicated

5
features and needs. In contrast, Vue is better for small to medium-sized apps with an
emphasis on speed and simplicity.

Structure:

Model-View-Controller (MVC) architecture, which divides the program into three


components and provides a clear division of responsibilities, is the framework that
Angular employs for front-end development. Services and directives are additional
aspects of Angular that help to enhance the architectural approach. In contrast, the
Model-View-ViewModel (MVVM) architecture used by the Vue framework places a
greater emphasis on the view layer and allows for a more flexible and scalable design. 

Features Angular Vue.js

Learning Curve Steep Easier

Scalability Highly scalable Scalable

Performance Good Good

Architecture Component-based Component-based

Data Binding Two-way binding Reactive binding

Support Google Independent

Community Robust Thriving

Size Large Small

Ecosystem Extensive Smaller

Functionality:

Both Angular and Vue provide component-based designs for view templates, with
Angular utilizing MVC and Vue using MVVM. Both frameworks offer independent
components, with Angular delivering services and Vue giving mixins and computed
properties. The decision between the two is based on the needs of the project, the
developer's preferences, and their experience level.
 
 
Flux-Inspired Libraries 

Angular and Vue provide integrated state management frameworks that let designers
handle sophisticated states in their front-end programs. Flux-inspired libraries that
provide a centralized store for managing the application's state include Angular's NgRx
and Vue's Vuex. 

6
Vuex offers mutations, actions, and getters to control the state, while NgRx offers
activities, reducers, effects, and selectors. Both systems provide unidirectional data flow
and ensure all components share the same condition. The decision between Angular
and Vue will ultimately be based on the project's unique requirements and the
developer's preferences and skill level.

Data Integration:

Data binding choices in Angular and Vue include interpolation, property binding, event
binding, and two-way binding. While Angular mixes property and event binding, Vue
employs the "v-model" directive for two-way binding. Both frameworks provide powerful
data-binding features for creating dynamic front-end applications. The decision between
them is based on the needs of the project, the developer's skill set, and preferences.

Language:

Angular and Vue.js take various tacks when choosing between TypeScript and
JavaScript in front-end development frameworks. While TypeScript and JavaScript are
supported by Vue.js, the main language of Angular is TypeScript. Complex program
creation and management are made simpler by TypeScript for developers, particularly in
larger-scale systems. Conversely, JavaScript is a dynamic language that enables quick
prototyping and development.

Basic usage FIG- 3

7
Function declaration and usage FIG-4

Using a third-party library FIG-5

Evaluation:

8
The components and functionality of Angular and Vue's apps may be tested using the
respective testing frameworks for those two frameworks. The "Angular Testing
Framework" for Angular is based on Jasmine and contains TestBed, whereas the "Vue
Test Utils" for Vue is likewise based on Jasmine and used to test Vue components.

Developing Mobile applications and websites:

Vue and Angular both provide libraries for building dynamic websites and applications.
Angular offers RxJS to control asynchronous data streams and Angular Material for pre-
made UI components, animations, and gestures. Vue offers Vuex for state management
and Vuetify for customizable features.

NativeScript from Angular provides cross-platform mobile app development using


TypeScript and Angular and access to native APIs. Vue Native from Vue combines
JavaScript and Vue for cross-platform mobile app development, with React Native
providing access to native APIs. Both frameworks are capable of producing responsive
web applications. Project needs and developer preferences determine the framework
used.

 
 
Using angular and vue:

Compared to Vue, Angular has a steeper learning curve because of its vast
documentation and wealth of features. It uses TypeScript and calls for a firm
understanding of object-oriented programming principles. But developers can easily
build sophisticated applications once they are comfortable with Angular. On the other
hand, Vue's modest API makes it easier to learn and comprehend its basic features,
making it easier for developers to master.

 
Which is better?

The particular requirements and goals of the project, as well as the developers'
preferences, should be taken into account while deciding between Angular and Vue.
Despite having a more difficult learning curve, Angular could be better suited for
sophisticated and scalable applications. Contrarily, Vue is simpler to learn and can be
better suitable for small- to medium-sized projects. Both frameworks provide a wealth of
resources and tools to get developers up and to run. Before choosing a choice, it is
crucial to analyze each framework's benefits and drawbacks and consider the project's
needs, the team's experience, and personal preferences.

Website 1: Twitter
URL: https://twitter.com
Purpose: Twitter is a social networking platform that enables users to communicate with
their followers by posting brief messages known as tweets.

9
Interactions:

Twitter is a very dynamic website that offers users a


variety of interactions.

Mobile view

Desktop view

 Retweeting and liking tweets: Showing gratitude for tweets by retweeting or


enjoying them.
 Engaging in dialogue with the original poster or other users who have responded
to the tweet is known as replying to it on Twitter.
 You are choosing to see or not view tweets from other people by following and
unfollowing individuals.

10
 Tweeting about other users: Alerting them to a tweet and kicking up a discussion.
 Users may communicate privately with one another using direct messages, which
are hidden from the public timeline.

Twitter has successfully included these interactions, making it simple for users to interact
with other users' posts.

Framework:

Twitter has not made its framework available to the public. However, it is well known that
React a well-liked JavaScript framework, provides the foundation for Twitter's front end.
Many well-known websites and apps use the sophisticated React framework to create
dynamic user interfaces.

Deficiencies:

Twitter has come under fire for how it handles abuse and harassment on the site.
Although Twitter has improved in this area, some users still believe that the platform's
regulations are insufficient to address hate speech and other types of destructive
behavior. Furthermore, Twitter's algorithmic timeline has come under fire for favoring
contentious material and encouraging the spreading of false information.

Setup code:

Once Tweepy is installed, you can import it into a Python script and use it to authenticate
your Twitter API credentials using your Consumer API Keys, Access Token, and Secret.
Example code is provided here:

11
Start using Twitter API

Website 2: Airbnb.
URL: www.airbnb.com
Purpose: Using the Airbnb website, individuals may let travelers searching for lodging
stay in their homes, flats, and other properties.

Interactions:

Additionally, users of Airbnb have access to a wide range of interactions on this highly
engaging site.

Mobile view of AIRBNB

 Users may look for and reserve lodging based on their interests, including
location, cost, and amenities.
 Users may contact hosts to inquire about or clarify information about the lodgings
before making a reservation.
 Leaving reviews and ratings for hosts and lodgings: Users can leave reviews and
ratings for hosts and accommodations after staying at a property, which aids
other users in making wise choices.
 Hosts may create and maintain listings for their homes, including adding images,
establishing pricing, and answering questions from visitors.

12
Desktop view of AIRBNB

Airbnb has successfully implemented these interactions, making it simple for guests to
maintain their listings and for customers to search for and book lodgings.

Framework:

The frontend of Airbnb is constructed using a mix of frontend frameworks, including


React, Angular, and Vue.js, the same JavaScript technology that Twitter uses. React is a
well-liked option for creating intricate user interfaces, which is ideal for Airbnb's
requirements.

Deficiencies:

The possibility of host discrimination against specific categories of people is one


possible problem with Airbnb's strategy. Although the measures Airbnb has made to
address this problem, including implementing non-discrimination regulations and the
need for hosts to undergo anti-bias training, some users may still feel uneasy using the
site.

13
Set up ES Lint for Airbnb, Vue JS, and VS Code:

Website 3: Duolingo
URL: https://www.duolingo.com 
Purpose: With the help of interactive exercises and games, users of the language
learning website Duolingo may learn a new language.

Interactions:

Users can access various interactions on the highly dynamic website Duolingo.

14
 Users may practice their language abilities, such as vocabulary, grammar, and
reading comprehension, by completing exercises and quizzes.
 Speaking and listening practice capabilities are also available in specific
language learning applications, including recording and playback, practice
conversations with chatbots, and live video chats with native speakers.
 Users may monitor their progress and establish objectives for their language
learning journey, such as the number of words they have learned or the
competency level they have attained.
 Conversation forums, chat rooms, and social media-style feeds are just a few of
the features that many language learning applications provide to let users engage
with a community of other language learners. For language learners, this may
foster a feeling of camaraderie and drive.
These interactions have been successfully adopted by Duolingo, making it enjoyable
and engaging for users to learn a new language.

Framework:

The frontend of Duolingo is constructed using a unique JavaScript framework.


Duolingo's framework is primarily for creating interactive web applications, even if not
built on Angular or Vue.

Deficiencies:

Duolingo has come under fire for failing to give good chances for speaking and listening
practice, concentrating excessively on memorizing drills, and failing to expose users to
complex terminology. Even though it might be a helpful tool, combining language
learning with other resources is crucial.

15
Setup code of Duolingo:

You may use your client ID and client secret to validate your Duolingo API credentials
after installing the duolingo-api library and importing it into your JavaScript code.
Example code is provided here:

16
Conclusion:

Powerful frontend development frameworks with distinctive features and advantages


include Angular and Vue. Before choosing a framework, developers should carefully
analyze the project requirements. Both frameworks have sizable communities and
resources, and continual development guarantees they will continue developing. It is
essential to assess interactive apps and websites that use these frameworks, taking
UI/UX, functionality, and restrictions into account. Users may pick the appropriate tool for
their particular requirements and objectives by making well-informed judgments.

17
References
Grigorik, I. 2018 Angular vs. React vs. Vue: A 2018 Comparison.

Brown, M. 2021 Angular vs Vue: Which One to Choose for Your Next Web App
Development?

Hejazi, A. 2019 Angular vs Vue: A Complete Comparison Guide.

Wilson, M. 2022 Vue vs Angular: Battle of the JavaScript Frameworks.

Arpit, J. 2021 Angular vs Vue: Which One Should You Choose for Your Next Project?

Zlatkov, I. 2020 Angular vs Vue vs React: Which Framework to Choose in 2020.

Ferenc, R. 2021 Angular vs Vue: Which One to Choose?

Cook, K. 2022 Vue vs. Angular: Which JavaScript Framework is Best for Your Project?

Martin, T. 2021 Angular vs Vue: A Comprehensive Comparison.

Aggarwal, R. 2021 Angular vs Vue.js – The Battle for Frontend Supremacy.

Sagar, S. 2021 Angular vs Vue.js – Which is the Best JavaScript

Kaur, S. 2022 Angular vs Vue vs React: Comparison for 2022.

Elkholy, M. 2020 Angular vs. Vue: Which is Better in 2020?

Twitter (n.d.) 'Infrastructure', Twitter Engineering.

Airbnb Engineering and Data Science (2018) 'Building a Mobile App with React Native and
Airbnb'

Duolingo Engineering (n.d.) 'How we build and maintain Duolingo courses', Duolingo
Engineering.

Twitter (2021) 'Building a Faster Twitter.com', Twitter Engineering.

Airbnb Engineering and Data Science (2019) 'Migrating to TypeScript at Airbnb',

Duolingo Engineering (2019) 'A Faster Duolingo with Phoenix LiveView', Duolingo
Engineering.

18

You might also like