The Building of Web Pages

Total Page:16

File Type:pdf, Size:1020Kb

The Building of Web Pages The building of Web Pages A comparative study of MERN and MEVN MAIN FIELD: Informatics AUTHOR: Sonia Mianji Johnson SUPERVISOR: Jasmin Jakupovic JÖNKÖPING February 2020 This final thesis has been carried out at the School of Engineering at Jönköping University within Informatics. The authors are responsible for the presented opinions, conclusions and results. Examiner: Anders Adlemo Supervisor: Jasmin Jakupovic Scope: 15 hp (first-cycle education) Date: 2020-03-01 Postal address: Visiting address: Phone: Box 1026 Gjuterigatan 5 036-10 10 00 551 11 Jönköping Abstract The ecosystem of JavaScript is rapidly changing and regularly a new framework or library is introduced claiming to have better features than its predecessors. This makes the decision- making process in choosing one framework over the other very challenging for the developers. This study aims to give a guideline to the reader in the process of decision making by comparing the runtime performance of the MERN (MongoDB, Express, React.js and Node.js) and MEVN (V stands for Vue.js) stack as well as increasing their viability in the job market by giving them an insight into the Swedish-based companies preference of software stacks in building single page applications. To fulfill the purpose, an experiment is conducted to determine how fast the mentioned stacks perform in building a single page application. For the experiment two simple to-do applications are built with MERN and MEVN and loading time, adding time, updating and deleting time of the tasks are measured. According to the results gathered, both MERN and MEVN performed similarly when executing the CRUD operations in the experiment. It must be noted that the run-time performance comparison was based on DOM manipulation of text-only content and due to the limited time frame, no image rendering was included in the applications. Moreover, to be able to reveal the software stack trend among the Swedish-based companies, a survey study was conducted. Out of approximately 70 companies contacted, 12 responded. Due to the low number of respondents on the survey drawing conclusions from the survey and generalizing, the result was challenging. However, the results gathered show that all the respondents use either Vue.js or React.js or both as their client-side software though they are not always combined with Node.js and MongoDB. Other preferred server-side software that are used in combination with React.js or Vue.js are Java, Go and Django. Some of the main factors that the respondents pointed out that affects their choice of software was the ease of learning, the community behind the software, clients’ need and availability of that specific software developers. Keywords – JavaScript, Software Stack, Framework, Library, Performance Analysis, React.js, Vue.js, MongoDB, Node.js, Express.js Terminology BSON– Binary JavaScript Object Notation CMS – Content Management System CPU – Central Processing Unit CRUD – Create, Read, Update, Delete CSS – Cascading Style Sheet DOM – Document Object Model HTML – HyperText Markup Language HTTP – HyperText Transfer Protocol I/O – Input / Output JSON – JavaScript Object Notation JSX – JavaScript XML MERN – MongoDB, Express, React.js, Node.js MEVN – MongoDB, Express, Vue.js, Node.js MPA – Multipage Application MVC – Model, View, Controller OS – Operating System RDBMS – Relational Database Management System SPA – Single Page Application SQL – Structured Query Language UI – User Interface URI – Uniform Resource Identifier URL – Uniform Resource Locator Table of contents Abstract ............................................................................................ ii Terminology .................................................................................... iii Table of contents ............................................................................ iv 1 Introduction ................................................................................ 1 BACKGROUND .........................................................................................................................1 PURPOSE AND RESEARCH QUESTIONS ......................................................................................1 THE SCOPE AND DELIMITATIONS..............................................................................................2 DISPOSITION ............................................................................................................................2 2 Technical Background ............................................................... 3 JAVASCRIPT .............................................................................................................................3 SOFTWARE STACK ...................................................................................................................3 MULTIPLE PAGE APPLICATION VS SINGLE PAGE APPLICATION.................................................3 MERN STACK .........................................................................................................................4 MongoDB .......................................................................................................................................... 4 Express .............................................................................................................................................. 5 React.js .............................................................................................................................................. 5 Node.js ............................................................................................................................................... 7 MEVN STACK .........................................................................................................................8 Vue.js ................................................................................................................................................. 8 3 Theoretical Framework........................................................... 12 PREVIOUS STUDIES ................................................................................................................12 4 Method and implementation .................................................. 13 LINK BETWEEN RESEARCH QUESTIONS AND METHODS ..........................................................13 WORK PROCESS .....................................................................................................................13 DATA COLLECTION AND ANALYSIS .......................................................................................16 RELIABILITY AND VALIDITY ..................................................................................................16 5 Findings and Analysis ............................................................... 17 RESEARCH QUESTION 1 ..........................................................................................................17 RESEARCH QUESTION 2 .........................................................................................................20 6 Discussion and conclusion ....................................................... 23 DISCUSSION OF FINDINGS ......................................................................................................23 LIMITATIONS .........................................................................................................................24 CONCLUSIONS........................................................................................................................24 FURTHER RESEARCH ..............................................................................................................24 7 References ................................................................................. 25 8 Appendices ................................................................................ 27 APPENDIX 1 ...........................................................................................................................27 APPENDIX 2 ...........................................................................................................................27 APPENDIX 3 ...........................................................................................................................27 APPENDIX 4 ...........................................................................................................................28 APPENDIX 5 ...........................................................................................................................29 1 Introduction The chapter provides a background for the study and the problem area the study is addressing. Further, the purpose and the research questions are presented. The scope and delimitations of the study are also described. Lastly, the disposition of the thesis is outlined. Background JavaScript is a high-level, dynamic, programming language that is one of the most popular and widely used programming languages in the world today as most of the websites and web browsers use and support JavaScript (areknawo.com, 2019). With JavaScript becoming very popular, many tools, libraries, and frameworks are built upon it over the years, that solves the common programming problems more easily and efficiently. Often the lifespan of the frameworks/libraries is not too long as a newer one gets to be introduced almost every 6 months claiming to have a better user interface development according to another study published on stack overflow website (Allen, 2018). With the rapid changes in
Recommended publications
  • Niklas Appelmann
    Niklas Appelmann Full-Stack Web Developer [email protected] https://niklasappelmann.de +49 151 6469 0684 Nationality German Education Bachelor of Science Computer Science Certificates Company Data Protection Officer IHK / Betrieblicher Datenschutzbeauftragter IHK (June 2018) Languages English (fluent) German (native) Skills Project Management Agile, Scrum, Kanban Frameworks and Tools AWS, Docker, Selenium, Puppeteer, MongoDB Programming Languages / Frameworks React, Meteor, Node.js, JavaScript, Python, Clojure, ClojureScript, CoffeeScript, TypeScript Relevant 3.5 years Experience Project examples since 01/2020 Fullstack Development, Freelance Various engagements in web development. • Automation of lead generation and business processes using Python, Selenium and Puppeteer. • Frontend development using ClojureScript and Reagent • Backend development using Node.js, Clojure and MongoDB • DevOps and Backend development at the government hackathon #wirvsvirus (2020) • AWS consulting (S3, Lambda, EC2, ECS, Route53, SQS, SES, Lightsail, DynamoDB, CloudFront) • Serverless fullstack architecture using AWS Team members: Other freelancers and remote contributors Technologies / Python, Selenium, Puppeteer, ClojureScript, Clojure, reagent, MongoDB, Tools Node.js, Meteor 03/2018 - Fullstack-Developer, blink.it GmbH & Co. KG 12/2019 Development of a progressive Meteor web application in a fast paced startup environment. • Built frontend functionality with React (JavaScript, CoffeeScript), Blaze, HTML5, SCSS/CSS • Built backend functionality with Node.js, Python and MongoDB • Worked on performance optimiziation on a large scale multi-tenant reactive application • Developed tools for data migration and automation of internal processes with Python • Developed an internal solution to migrate Pipedrive leads to Hubspot for a large set of leads and past deal flows Team members: 10 Technologies / React, AWS, JavaScript, CoffeeScript, Python, MongoDB, Node.js, Blaze, Tools HTML5, SCSS/CSS, Selenium, SCORM 10/2016 - Software Engineer (working student), blink.it GmbH & Co.
    [Show full text]
  • Python Projects for Resume Reddit
    Python Projects For Resume Reddit Chet rape his klutz settles wrong or extraneously after Neron prune and covings proprietorially, undisturbing and Caldwellallegiant. neverSniffiest dibble Torrin any levigating parroquets! some Caen after ringent Marmaduke insists snappishly. Anabatic or suchlike, This location that on how to make the reddit python project on a java or command Then I decided to personalize my cover paid and resume summary then route to send. CodeSignal Coding Tests and Assessments for Technical. Can perform give baby some good examples of mediumhigh level projects that. Self-taught Python and CC What of some projects I can. Advanced Programming Projects Reddit. Get instant coding help build projects faster and read programming tutorials from. I managed to surface a script that asks for order number checks of the remainder is. Search for code editors and you to properly. ShadowmooseRedditDownloader Scrapes Reddit to GitHub. Best Machine Learning GitHub Repostories & Reddit. Python vs powershell reddit ERAZ 2020. Entry level programming jobs reddit Bacta. Scrape a Subreddit Reddit is rate of cotton most popular social media platforms out there phone has communities called subreddits for nearly every topic he can. Feb 27 2020 Free Resume Builder Reddit 32 Inspirational Free. One Click Essays Best paper community service reddit best team. A bot that connects to an API like the ones provided by YouTube Reddit or Discord. The against for me to them able today put a personal or side free on other resume. Interning at and cross your bots you for resume. Niraj Sheth Senior Software Engineer Crypto Reddit Inc. Projects that feature're proud of languages that you've worked in you don't need to.
    [Show full text]
  • E-Commerce Application Using MERN Stack
    Quang Nhat Mai E-commerce Application using MERN stack Metropolia University of Applied Sciences Bachelor of Engineering Information Technology Bachelor’s Thesis 30 August 2018 Abstract Author Quang Nhat Mai Title E-commerce Application using MERN stack Number of Pages 36 pages + x appendices Date 30 August 2020 Degree Bachelor of Engineering Degree Programme Information Technology Professional Major Software Engineering Instructors Janne Salonen This thesis is about studying the basic components of MERN Stack technology such as: MongoDB, ExpressJS framework, ReactJS library, and NodeJS platform. Discussing the basic functions of an e-commerce web application such as sign up, sign in, showing dash- boards, displaying store categories and products Using MERN Stack technology in conjunc- tion with Braintree to build a web application to search for product stores and payment gate- way. Develop administrative functions for the website such as: user management, store management, statistics, and reports. Since then, this topic is declared to research and create an online product search website so that small grocery stores and groceries can post and manage their products right on the website. website system and branding. At the same time, the store can link to its own website (if any). For customers, they can quickly search for urgent products from their nearby stores. Based on the search results, customers can directly contact the store owner to discuss more about the product they are looking for. Keywords Contents List of Abbreviations 1 Introduction
    [Show full text]
  • Fat-Free Framework 1.4.1 Quick Reference Akismet Auth Data
    Akismet Data An API wrapper that you can use during input validation to Input data handlers and validators. determine if a blog comment, trackback, or pingback contains spam. This plug-in requires a key from akismet.com. input( string fields, mixed handler, [ string tags ],[ integer filter ], [ array options ] ); check( string text, string author, string email, string url ); Assign handler to HTML form fields for validation and Submit content (usually a blog comment) to akismet.com. manipulation. handler may be an anonymous or named function, Returns TRUE if the content is determined as spam. a single or daisy-chained string of named functions similar to the route() method. This command passes two arguments to handler ham( string text, string author, string email, string url ); function: value and field name. HTML and PHP tags are stripped Report content as a false positive. If the argument tags is not specified. PHP validation/sanitize filters, filter flags, and options may be passed as additional spam( string text, string author, string email, string url ); Quick Reference Quick Reference arguments. See the PHP filter_var() function for more details on Report content that was not marked as spam. filter types. verify( string key ); scrub( mixed value, [ string tags ] ); Secure approval from akismet.com to use the public API for Remove all HTML tags to protect against XSS/SQL injection spam checking. A valid key is required to use the API. Returns attacks. tags , if specified, will be preserved. If value is an array, TRUE if authentication succeeds. 1.4.1 1.4.1 HTML tags in all string elements will be scrubbed.
    [Show full text]
  • JSON As an XML Alternative
    JSON The Fat-Free Alternative to XML { “Lecture”: 27, “Course”: “CSC375”, “Days”: ”TTh", “Instructor”: “Haidar Harmanani” } JSON as an XML Alternative • JSON is a light-weight alternative to XML for data- interchange • JSON = JavaScript Object Notation – It’s really language independent – most programming languages can easily read it and instantiate objects or some other data structure • Defined in RFC 4627 • Started gaining tracking ~2006 and now widely used • http://json.org/ has more information JSON as an XML Alternative • What is JSON? – JSON is language independent – JSON is "self-describing" and easy to understand – *JSON uses JavaScript syntax for describing data objects, but JSON is still language and platform independent. JSON parsers and JSON libraries exists for many different programming languages. • JSON -Evaluates to JavaScript Objects – The JSON text format is syntactically identical to the code for creating JavaScript objects. – Because of this similarity, instead of using a parser, a JavaScript program can use the built-in eval() function and execute JSON data to produce native JavaScript objects. Example {"firstName": "John", l This is a JSON object "lastName" : "Smith", "age" : 25, with five key-value pairs "address" : l Objects are wrapped by {"streetAdr” : "21 2nd Street", curly braces "city" : "New York", "state" : "NY", l There are no object IDs ”zip" : "10021"}, l Keys are strings "phoneNumber": l Values are numbers, [{"type" : "home", "number": "212 555-1234"}, strings, objects or {"type" : "fax", arrays "number” : "646 555-4567"}] l Aarrays are wrapped by } square brackets The BNF is simple When to use JSON? • SOAP is a protocol specification for exchanging structured information in the implementation of Web Services.
    [Show full text]
  • Certificate Course in “MEAN Stack Web Development”
    Certificate Course in “MEAN Stack Web Development” MEAN Stack Overview: MEAN is an acronym for MongoDB, ExpressJS, Angular and Node.js. MEAN Stack web development is a structured learning path recommended by leading industry experts and ensures your mastery of full MEAN stack development. MongoDB is a schemaless NoSQL database system. MongoDB saves data in binary JSON format which makes it easier to pass data between client and server. ExpressJS is a lightweight framework used to build web applications in Node. It provides a number of robust features for building single and multi page web application. ExpressJS is inspired by the popular Ruby framework, Sinatra. Angular is a TypeScript based open-source front-end web application platform led by the Angular Team at Google. It gives an extraordinarily expressive, readable and fast way to develop rich front ends for websites. Node.js is a server side JavaScript execution environment. It is a platform built on Google Chrome’s V8 JavaScript runtime. It helps in building highly scalable and concurrent applications rapidly. 1 Course Objective: The overall aim of the course is to enable participants to confidently build different types of application using the MEAN stack. The course is divided into four modules, MongoDB, ExpressJS, Angular, and Node.js. Each module focuses on a different goal. The four modules work together building a full application, with an overall outcome of showing how to architect and build complete MEAN applications. Course Details: Title Certificate Course in MEAN Stack Web Development No. of Credits 5 (Total No. of Clock Hours = 75) Duration 13 Weeks Actual Contact Hours 60 Classroom Training (with hands-on) Project Based Learning Hours 15 Fee Structure 15000.00 / Participant Open for all Students / Individuals/ Professionals with Eligibility basic knowledge of HTML5, CSS3 and JavaScript Intake 30 Participants Outcome: By the end of the course, participants will be able: To set up a web-server using Node.js and ExpressJS, to listen for request and return response.
    [Show full text]
  • Building Restful Web Apis with Node.Js, Express, Mongodb and Typescript Documentation Release 1.0.1
    Building RESTful Web APIs with Node.js, Express, MongoDB and TypeScript Documentation Release 1.0.1 Dale Nguyen May 08, 2021 Contents: 1 Introductions 3 1.1 Who is this book for?..........................................3 1.2 How to read this book?..........................................3 2 Setting Up Project 5 2.1 Before we get started...........................................5 2.2 MongoDB preparation..........................................5 2.3 Step 1: Initiate a Node project......................................5 2.4 Step 2: Install all the dependencies...................................7 2.5 Step 3: Configure the TypeScript configuration file (tsconfig.json)...................7 2.6 Step 4: edit the running scripts in package.json.............................7 2.7 Step 5: getting started with the base configuration...........................8 3 Implement Routing and CRUD9 3.1 Step 1: Create TS file for routing....................................9 3.2 Step 2: Building CRUD for the Web APIs................................ 10 4 Using Controller and Model 13 4.1 Create Model for your data........................................ 13 4.2 Create your first Controller........................................ 14 5 Connect Web APIs to MongoDB 17 5.1 1. Create your first contact........................................ 18 5.2 2. Get all contacts............................................ 19 5.3 3. Get contact by Id........................................... 19 5.4 4. Update an existing contact...................................... 20 5.5 5. Delete a contact............................................ 20 6 Security for our Web APIs 23 6.1 Method 1: The first and foremost is that you should always use HTTPS over HTTP.......... 23 6.2 Method 2: Using secret key for authentication............................. 24 6.3 Method 3: Secure your MongoDB.................................... 25 7 Indices and tables 29 i ii Building RESTful Web APIs with Node.js, Express, MongoDB and TypeScript Documentation, Release 1.0.1 This is a simple API that saves contact information of people.
    [Show full text]
  • Performance Benchmark Postgresql / Mongodb Performance Benchmark Postgresql / Mongodb
    PERFORMANCE BENCHMARK POSTGRESQL / MONGODB // CONTENTS // ABOUT THIS BENCHMARK 3 Introduction 3 OnGres Ethics Policy 4 Authors 4 // EXECUTIVE SUMMARY. BENCHMARKS KEY FINDINGS 5 Transactions benchmark 5 OLTP Benchmark 6 OLAP Benchmark 6 // METHODOLOGY AND BENCHMARKS 7 Introduction and objectives 7 Benchmarks performed 7 About the technologies involved 8 Automated infrastructure 9 // TRANSACTIONS BENCHMARK 12 Benchmark description 12 MongoDB transaction limitations 14 Discussion on transaction isolation levels 14 Benchmark results 17 // OLTP BENCHMARK 25 Benchmark description 25 Initial considerations 26 Benchmark results 29 // OLAP BENCHMARK 38 Benchmark description 38 Benchmark results 45 2/46 // ABOUT THIS BENCHMARK Introduction Benchmarking is hard. Benchmarking databases, harder. Benchmarking databases that follow different approaches (relational vs document) is even harder. There are many reasons why this is true, widely discussed in the industry. Notwithstanding all these difficulties, the market demands these kinds of benchmarks. Despite the different data models that MongoDB and PostgreSQL expose, many developers and organizations face a challenge when choosing between the platforms. And while they can be compared on many fronts, performance is undoubtedly one of the main differentiators — arguably the main one. How then do you leverage an informative benchmark so that decisions can be made about the choice of a given technology, while at the same time presenting a fair arena in which the technologies compete in an apples-to-apples scenario? To fulfill these goals, this benchmark has been executed based on the following criteria: • Transparency and reproducibility. The framework that has been programmed and used to run the benchmarks is fully automated and is published as open source.
    [Show full text]
  • Migrating Off of Mongodb to Postgresql
    Migrating off of MongoDB to PostgreSQL Álvaro Hernández Tortosa <[email protected]> PgConf.Ru 2017 PGconf Russia 2017 Who I am CEO, 8Kdata.com • What we do @8Kdata: ALVARO HERNANDEZ ✓Creators of ToroDB.com, NoSQL & SQL database ✓Database R&D, product development ✓Training and consulting in PostgreSQL ✓PostgreSQL Support Twitter: @ahachete Linkedin: Founder, President Spanish Postgres User Group http://es.linkedin.com/in/alvarohernandeztortosa/ postgrespana.es ~ 750 members PGconf Russia 2017 Agenda 1.MongoDB limitations 2.Pain points when migrating from NoSQL to SQL ✓ Stripe's MoSQL ✓ EDB Mongo FDW ✓ Quasar FDW ✓ Mongo BI Connector, yet another PG FDW ;) ✓ ETL tool ✓ ToroDB Stampede 3. Benchmarks PGconf Russia 2017 MongoDB limitations PGconf Russia 2017 No ACID is bitter • Atomic transactions only work within the same document CART ORDERS [ [ ... ... { { user: 567, user: 567, products: [ orders: [ { ... { id: 47, orderId: units: 7, 24658, }, ̣This operation is not atomic!! products: [ { … id: 318, ] units: 2, } }, … … ] ] } } ... ... ] ] PGconf Russia 2017 MongoDB does *not* have consistent reads https://blog.meteor.com/mongodb-queries-dont-always-return-all-matching-documents-654b6594a827#.fplxodagr PGconf Russia 2017 BI query performance issues ̣ MongoDB aggregate query pattern PGconf Russia 2017 BI query performance issues ̣ PostgreSQL aggregate query pattern PGconf Russia 2017 BI query performance issues What if we use a columnar store? PGconf Russia 2017 Taking it to the extreme • We have developed a very difficult video game •We store
    [Show full text]
  • Performance Comparison of Mongodb and Postgresql with JSON Types
    TALLINN UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Informatics Chair of Information Systems Performance Comparison of MongoDB and PostgreSQL with JSON types Master's Thesis Student: Dmitri Maksimov Student’s code: 121839IAPM Supervisor: Erki Eessaar Associate Professor Tallinn 2015 Autorideklaratsioon Kinnitan, et olen koostanud antud lõputöö iseseisvalt ning seda ei ole kellegi teise poolt varem kaitsmisele esitatud. Kõik töö koostamisel kasutatud teiste autorite tööd, olulised seisukohad, kirjandusallikatest ja mujalt pärinevad andmed on töös viidatud. ……………………………………. ……………………………… (kuupäev) (allkiri) ii Annotation Performance Comparison of MongoDB and PostgreSQL with JSON types Traditional SQL database management systems (DBMSs) and NoSQL systems are different. SQL DBMSs on the one hand feature a data model that requires explicit definition of database schema. In addition, they allow its users to ensure consistency of data as well as support transactions that span multiple statements and have strict properties (ACID). On the other hand, this focus on strict consistency makes them hard to scale horizontally and the system do not perform well under the high load of large data volumes or/and concurrent access. Whereas NoSQL systems offer great capabilities of horizontal scaling, flexible data models that do not require explicit schema definition at the database level, and good performance under the high load of large data volumes or/and concurrent access. On the other hand, NoSQL systems generally place less strict requirements to transactions (BASE), making the systems built on top of these systems prone to the data inconsistencies. Many of them treat each single operations as an atomic transactional unit but do not allow developers to group multiple statements (operations) to one atomic unit (transaction).
    [Show full text]
  • Coding Resources
    Introduction to Coding - Coding Resources March 4, 2019 Jason Velarde Freeport Memorial Library [email protected] Block Coding – the standard way to teach introductory programming in the US. Instead of traditional, text based programming, block based coding involves dragging “blocks” of instructions. Hour of Code http://hourofcode.org Scratch http://scratch.mit.edu Trinket http://trinket.io/ *Learn how blocks translate into code HTML/CSS - HTML is the foundation behind all web pages. It's used to add structure and form to text, images, and more. CSS is the language used to style HTML content. W3Schools http://w3schools.com (free) Code Academy https://www.codecademy.com/catalog/language/html-css (free “Intro,” pay for “Pro”) freeCodeCamp http://freecodecamp.org (free) Code Avengers https://www.codeavengers.com/ (free trial) Udemy http://udemy.com ($11.99 courses) Lynda.com http://www.lynda.com/portal/patron?org=freeportlibrary.info (free w/ library card) CoderDojo http://kata.coderdojo.com/wiki/HTML_Path (free) Coder’s Guide https://www.youtube.com/user/CodersGuide (YouTube) DevTips https://www.youtube.com/user/DevTipsForDesigners (YouTube) JavaScript - JavaScript is the programming language of the web. You can use it to add dynamic behavior, store information, and handle requests and responses on a website. Code Academy https://www.codecademy.com/catalog/language/javascript (free “Intro,” pay for “Pro”) CoderDojo http://kata.coderdojo.com/wiki/JavaScript_Path (free) freeCodeCamp http://freecodecamp.org (free) Code Avengers https://www.codeavengers.com/ (free trial) Khan Academy https://www.khanacademy.org/computing/computer-programming (free) Udemy http://udemy.com ($11.99 courses) Lynda.com http://www.lynda.com/portal/patron?org=freeportlibrary.info (free w/ library card) Coder’s Guide https://www.youtube.com/user/CodersGuide (YouTube) Python - Python is a general-purpose, versatile, and modern programming language.
    [Show full text]
  • Understanding the Factors That Impact the Popularity of Github Repositories
    Understanding the Factors that Impact the Popularity of GitHub Repositories Hudson Borges, Andre Hora, Marco Tulio Valente ASERG Group, Department of Computer Science (DCC) Federal University of Minas Gerais (UFMG), Brazil E-mail: fhsborges, hora, [email protected] Abstract—Software popularity is a valuable information to developers because they want to know whether their systems modern open source developers, who constantly want to know are attracting new users, whether the new releases are gaining if their systems are attracting new users, if new releases are acceptance, whether their systems are as popular as competitor gaining acceptance, or if they are meeting user’s expectations. In this paper, we describe a study on the popularity of software systems, etc. Unfortunately, we have few studies about the systems hosted at GitHub, which is the world’s largest collection popularity of GitHub systems. The exceptions are probably of open source software. GitHub provides an explicit way for an attempt to differentiate popular and unpopular Python users to manifest their satisfaction with a hosted repository: repositories using machine learning techniques [5] and a the stargazers button. In our study, we reveal the main factors study on the effect of project’s popularity on documentation that impact the number of stars of GitHub projects, including programming language and application domain. We also study quality [6]. By contrast, popularity is extensively studied on the impact of new features on project popularity. Finally, we other social platforms, like YouTube [7], [8] and Twitter [9], identify four main patterns of popularity growth, which are [10]. These studies are mainly conducted to guide content derived after clustering the time series representing the number generators on producing successful social media content.
    [Show full text]