1,790 research outputs found

    Refactoring Legacy JavaScript Code to Use Classes: The Good, The Bad and The Ugly

    Full text link
    JavaScript systems are becoming increasingly complex and large. To tackle the challenges involved in implementing these systems, the language is evolving to include several constructions for programming- in-the-large. For example, although the language is prototype-based, the latest JavaScript standard, named ECMAScript 6 (ES6), provides native support for implementing classes. Even though most modern web browsers support ES6, only a very few applications use the class syntax. In this paper, we analyze the process of migrating structures that emulate classes in legacy JavaScript code to adopt the new syntax for classes introduced by ES6. We apply a set of migration rules on eight legacy JavaScript systems. In our study, we document: (a) cases that are straightforward to migrate (the good parts); (b) cases that require manual and ad-hoc migration (the bad parts); and (c) cases that cannot be migrated due to limitations and restrictions of ES6 (the ugly parts). Six out of eight systems (75%) contain instances of bad and/or ugly cases. We also collect the perceptions of JavaScript developers about migrating their code to use the new syntax for classes.Comment: Paper accepted at 16th International Conference on Software Reuse (ICSR), 2017; 16 page

    Updating web content in real time using Node.js

    Get PDF
    The real-time web is a set of technologies and practices that enable users to receive information as soon as it is published by its authors, rather than requiring that they or their software check a source periodically for updates. In order to achieve this, we can use different technologies. One of them is Node.js. Through this article we want to describe this technology and highlight the advantages of using Node.js as a technology to update web content in real time. To achieve this objective we have made some tests and measurements for the time spend to update information using these technology versus other technologies like Php/ Apache

    AMC Native WebRTC Client

    Get PDF
    Traditional call center and telecommunication hardware is being replaced by thin, browser-based, cloud enabled web services. Industry standards for web based communication protocols, such as WebRTC, are being established. AMC needed to address this new technology, while maintaining a hybrid approach of server-based capabilities, taking advantage of the web-based communication channel, while broadcasting events to the Contact Canvas Server. Contact Canvas Agent Palette is the editing platform of the AMC adapter for Salesforce.com, allowing agents to communicate with customers through the AMC adapter/ Softphone. Using Agent Palette, the task was to integrate Video Chat using WebRTC into the AMC toolbar. Two agents use a peer-to-peer connection to establish communication with one another. The connected two can communicate through video chat which supports screen pop. The components that were provided and used were the AMC adapter for salesforce.com, the Agent Palette, and the salesforce.com Customer Relation Management (CRM) database. The AMC adapter is an HTML Softphone that can be used to voice enable salesforce.com, while Socket.io and Node.js were used to communicate with the server side. Eventually this video chat will advance to the point where communication will be established between agents and their customers.https://scholarscompass.vcu.edu/capstone/1162/thumbnail.jp
    corecore