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

AngularJS in the Wild: A Survey with 460 Developers (PLATEAU Workshop 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).

13beaa3b7239eca3319d54c6a9f3a85a?s=128

ASERG, DCC, UFMG

November 01, 2016
Tweet

Transcript

  1. 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. 5.

    AngularJS characteristics Augments the HTML vocabulary Uses Dependency Injection Implements

    two-way data binding Provides different abstractions to structure applications 5
  3. 6.

    Motivation There is no clear knowledge on
 how the features

    proposed by AngularJS
 affect the development experience
 of JavaScript applications. 6
  4. 9.

    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. 10.

    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. 11.

    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. 13.

    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. 18.

    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. 19.

    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. 23.

    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
  11. 24.

    Thank You! 24 https://github.com/aserg-ufmg/angularjs-survey Miguel Ramos, Marco Tulio Valente {miguel,

    mtov}@dcc.ufmg.br Gustavo Santos gugajansen@gmail.com Ricardo Terra terra@dcc.ufla.br