Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AngularJS in the Wild: A Survey with 460 Develo...

gustavojss
November 01, 2016

AngularJS in the Wild: A Survey with 460 Developers (PLATEAU 2016)

To implement modern web applications, a new family of
JavaScript frameworks has emerged, using the MVC pattern.
Among these frameworks, the most popular one is AngularJS,
which is supported by Google. In spite of its popularity,
there is not a clear knowledge on how AngularJS
design and features affect the development experience of
Web applications. Therefore, this paper reports the results of
a survey about AngularJS, including answers from 460
developers. Our contributions include the identification of
the most appreciated features of AngularJS (e.g., custom
interface components, dependency injection, and two-way
data binding) and the most problematic aspects of the framework
(e.g., performance and implementation of directives).

gustavojss

November 01, 2016
Tweet

More Decks by gustavojss

Other Decks in Research

Transcript

  1. AngularJS in the Wild: A Survey with 460 Developers Miguel

    Ramos, Marco Tulio Valente UFMG, Brazil Gustavo Santos INRIA, France Ricardo Terra UFLA, Brazil
  2. AngularJS characteristics Augments the HTML vocabulary Uses Dependency Injection Implements

    two-way data binding Provides different abstractions to structure applications 5
  3. Motivation There is no clear knowledge on
 how the features

    proposed by AngularJS
 affect the development experience
 of JavaScript applications. 6
  4. Mapping Study Initial search queries “The best features of AngularJS”

    or “Problems with AngularJS” Search specific queries “Transclusion directives”,
 “AngularJS testing” Snowballing Digital libraries Q&A Blogs 9
  5. Survey Design • Open questions, Likert-like questions, and multiple choice

    questions. • 25 questions, ~15 minutes • Only background questions were mandatory • Scales with an even number of options • “Other” option in multiple choice questions 10
  6. Questions 2 1 3 4 5 6 7 Participants background

    Key characteristics of AngularJS Problems in AngularJS templates Testing Development practices (complementary questions) Complex features of AngularJS AngularJS 2.0 11
  7. Survey promotion Pilot survey Final survey Sent to 30 users

    Scores from 9 to 24 Typographical errors Ranking questions to rating questions Responses were discarded Initially sent to 60 users 700 users emailed daily Sent to 3060 users Scores from 3 to 831 460 responses (15%) 13
  8. Testing How often do you use the ngMock module for

    testing? Answered by: 441 developers (95.9%) Possible reasons: Low usefulness of the features provided by the ngMock module Unfamiliarity with the module Few developers test their applications 51.5% 21.3% 18
  9. Testing How difficult is to test this AngularJS components? Discussion:

    Common components are easy to test Directives with external templates may be hard to test due to the need of pre- compilation, and their interaction with the DOM 35.3% 53.7% 61.7% 19
  10. 2 1 3 4 5 6 7 Mostly experienced developers

    Most appreciated features: UI components, data binding Problems with performance degradation Components more difficult to test Development practices Complex features of AngularJS Most expected features on AngularJS 2.0 23