<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Unroll Tech</title>
    <description>The latest articles on DEV Community by Unroll Tech (@unrolltech).</description>
    <link>https://dev.to/unrolltech</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F413738%2F1accf9f5-2b68-406e-91ec-53d888bf3e78.jpg</url>
      <title>DEV Community: Unroll Tech</title>
      <link>https://dev.to/unrolltech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/unrolltech"/>
    <language>en</language>
    <item>
      <title>CI/CD Process in Boosting Software Development</title>
      <dc:creator>Unroll Tech</dc:creator>
      <pubDate>Sun, 06 Sep 2020 11:27:01 +0000</pubDate>
      <link>https://dev.to/unrolltech/ci-cd-process-in-boosting-software-development-1ai6</link>
      <guid>https://dev.to/unrolltech/ci-cd-process-in-boosting-software-development-1ai6</guid>
      <description>&lt;p&gt;CI/CD process is the most effective for timely and precise responses in software development, adapting to changes and meeting new market demands.&lt;/p&gt;

&lt;h2&gt;
  
  
  A thorough look at how it enhances transparency and adaptability in a fast-growing market
&lt;/h2&gt;

&lt;p&gt;Software development is rather effective when it involves team work than isolated coding. Continuous Integration (CI) has helped agile teams to regularly update the coding repository with contributions from all the members correcting the minor bugs at an early stage. This enables the teams to fix bugs at the early development cycle instead of waiting till the end of the project cycle to identify bugs as testing ensues.&lt;/p&gt;

&lt;p&gt;The traditional practice of each member working on a separate part of an application is out of the window allowing all intellects to contribute and make it a holistic code with minimal or almost no bugs. This merger happens several times through a day resulting in continuous and regular testing and validation, thus automating the development process. Almost &lt;a href="https://about.gitlab.com/developer-survey/"&gt;40% of the developers are well on their way to automate the processes.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuous Delivery (CD) follows CI as a natural step to update the software as and when the integrated codes have cleared testing process. This minimizes the risks associated with releasing new features and fixing older bugs by allowing every small change reaching the users as soon as it is done. Without this, releasing updates becomes a painfully long process with chances of more risks. With CD, any issue can be dissolved quickly by simply releasing an update or a bug fix immediately.&lt;/p&gt;

&lt;p&gt;Here are some of the ways in which CI/CD boost the software development cycle&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Quicker release cycles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The basic purpose of implementing CI/CD is to release updates as and when the codes are ready. This lets new features into production quicker and swift release cycles reach the customers at shorter intervals. Such smaller introduction of upgrades is rarely disruptive and one can have target releases. The features not ready can be conveniently blocked and reserved for the next update. The quality and the impact of the code can be identified soon. 82% of developers have reported that they are releasing the codes more quickly than ever.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Risk alleviation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With CI/CD in place, the code changes invite fewer and simpler consequences. When all the code changes are collected in the main repository, the line of codes fits perfectly into it without requiring many changes. This alleviates the bugs that end up in production at the end, essentially filtering the filth at every stage before it reaches production. Lesser or nil defect backlogs means newer defects can be cleared immediately. This also makes the testing process easier, reducing the effort going into the manual testing process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Reduced costs&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The earlier you catch defects, the cheaper they are to fix”&lt;/p&gt;

&lt;p&gt;David Farley in Continuous Delivery: Reliable Software Releases through Build, Test and Deployment Automation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Fixed costs associated with building and testing codes are reduced at a massive level as testing happens on parallel platforms. The time and machines used for testing are reduced, thereby reducing the cost involved in the process. Automated processes like CI/CD also reduce the costs required for maintaining one’s own test infrastructure. The upfront investment required is only for the tools to implement CI/CD and training the employees after integrating with the existing processes, if required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Instant feedback&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Be it feedback from internal testing or end user feedback, they are instantaneous. This allows the developers to make necessary changes or understand the impact of their codes as soon as they reach the users. This helps design a road map that decides the direction of further changes and introduction of new features. As the codes are run through testing, the leakages are identified instantly and this transparency helps the teams avoid them in the future. Active involvement of end users makes the feedback more valuable, leading to better usability improvements in the future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Uncompromised quality on products&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A product is not only a result of mechanical processes like building and testing. While they form a crucial component for its success, aspects like team communication, confidence, etc., play a major role in how the employees approach a project. Sharing codes, witnessing a transparent process increase the trust within a team and improves communication among themselves. Detecting potential issues on time and witnessing the fruitful results almost immediately boosts their confidence. &lt;a href="https://about.gitlab.com/developer-survey/"&gt;66%&lt;/a&gt; of employers have reported better job satisfaction using this method. Everything mentioned above complements each other resulting in a product whose quality is not compromised.&lt;/p&gt;

&lt;p&gt;Although CI/CD is more effective than other processes, timely response to the problems is crucial as the final product is expected to be precise. When this is achieved, all the above-mentioned benefits are fulfilled. This also gives the team some flexibility to adapt to the market changes, even if they are rapid. A team with CI/CD in place has better advantage at meeting new market demands and releasing them before others.&lt;/p&gt;

&lt;p&gt;Firms should identify the product needs and go for this process if they require faster deployments. Tools like Jenkins, Travis CI, TeamCity, Circle CI are some of the popular tools used.&lt;/p&gt;

</description>
      <category>devops</category>
    </item>
    <item>
      <title>Is Ruby on Rails Close to Its End?</title>
      <dc:creator>Unroll Tech</dc:creator>
      <pubDate>Sat, 05 Sep 2020 18:55:41 +0000</pubDate>
      <link>https://dev.to/unrolltech/is-ruby-on-rails-close-to-its-end-52l1</link>
      <guid>https://dev.to/unrolltech/is-ruby-on-rails-close-to-its-end-52l1</guid>
      <description>&lt;p&gt;Ruby on Rails (RoR) was a revolutionary introduction to the market during the development of Web 2.0. Since the structure of web was made easily available, tasks became quicker to complete.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding out the myth around its relevance and current usage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ruby on Rails (RoR) was a revolutionary introduction to the market during the development of Web 2.0. Since the structure of web was made easily available, tasks became quicker to complete and amateurs found it easier to work on web development. For instance, a blog could be set up in about 15 minutes for the first time. It was never heard of or achieved before. It continued being innovative by introducing standards like JSON, XML, HTML, etc.&lt;/p&gt;

&lt;p&gt;Before we get into the discussion on whether or not RoR is dying, one should remember that it paved way for all the other frameworks that followed. The unique MVC principle and its top-rated performance makes its presence felt via other MVCs as well. Even today, ruby has a major influence on how the internet works. Traces of it can be seen in modern frameworks like Salis.js in Node.js and Catalyst in Perl.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Role of a ruby on rails developer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ruby on Rails developers are still in demand because several big companies have not moved away from the framework. For instance, big banners like Groupon, AirBnb, Shopify, GitHub, Goodreads, Couchsurfing, etc., still use ruby on rails. An RoR developer, in fact, makes more money than other developers in such big firms.&lt;/p&gt;

&lt;p&gt;RoR can be used for both android and iOS development. It supports the back-end development of mobile apps and is relevant even today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relevance of Ruby on Rails development in 2020&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a simple app that has to be completed within a tight budget and a faster pace. The major advantage is that, even a beginner can use RoR with ease for simple projects like blogs or APIs. In an age of start-ups where tight budget is commonly seen, RoR remains highly relevant today. The latest updates allow Sorbet type checking which means there will be less bugs. Isn’t that the dream of a developer? It is safe to say that RoR is very much alive. It is still improving and getting faster with time.&lt;/p&gt;

&lt;h4&gt;
  
  
  Strong developer community
&lt;/h4&gt;

&lt;p&gt;RoR has a community of developers helping and supporting each other. They maintain open-source libraries, known as ‘gems’, where developers can create applications easier and faster. This also means that they can get help from fellow developers whenever they need and also share their technical difficulties with others. This is rarely seen elsewhere. New contributions are seen regularly, thus maintaining a creative hub for everyone to benefit from.&lt;/p&gt;

&lt;h4&gt;
  
  
  Convenience
&lt;/h4&gt;

&lt;p&gt;When big firms stick to RoR, it shows how convenient and easy it is for them to use. They probably started with RoR when no one had even heard of them and still remain loyal to it. This proves that the framework has never failed them. It is easier and faster to use. RoR can build an app 40% faster than other frameworks. Readable syntax makes it harder for the firms to move away from it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The future of RoR&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By 2020, RoR is aiming to reach thrice the speed than it is currently. They also have a three-point plan for the upcoming updates&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Static analysis&lt;/em&gt;&lt;br&gt;
&lt;em&gt;3 times speed&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Concurrency&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With these updates in the pipeline, one can assume that the advantages become stronger, cementing its place in the market.&lt;/p&gt;

&lt;p&gt;Is it applicable for an iOS application developer?&lt;br&gt;
A lot of iOS applications use RoR as the back-end support. RoR uses less coding and does more work. It’s easier to update and make changes to the existing features using RoR. This mature technology has seen every change in the market in the last decade. There’s nothing it cannot adapt and also maintain stability. Another reason why it is the ideal for back-end usage is that it allows building prototype in a short period of time. Thus, an app can be created and sent for peer reviews faster than other stacks. It is also available for free.&lt;/p&gt;

&lt;p&gt;Some of the cons include the fact that RoR is sometimes stagnant or moving forward slowly. According to a study, the number of new ‘gems’ is declining with years, thereby proving that not many are using it for creative outcomes. 2018 saw the lowest usage of RoR with only 10,746 new gems. It has become a standard framework and does not invite new and exciting projects. If the ‘gems’ don’t pick up the pace, other frameworks might eventually take over leaving less space for RoR. Even though they are influenced by RoR, modern frameworks offer more.&lt;/p&gt;

&lt;p&gt;The consistency of a framework can be decided based on whether start-ups are willing to use it. Unfortunately, there is a decline in RoR usage by start-ups as of 2019, according to GitHub. Although this does not invalidate its presence in bigger firms, to stay more relevant, RoR should move forward and attract new projects. According to study, RoR is the third most popular framework in the US with close to 450,000 customers using it. Innovations in start-ups contribute to leveraging technology.&lt;/p&gt;

&lt;p&gt;In short, is RoR dying? No. Has it taken a backseat? Yes. The current plan to upgrade seems to be exciting and it might place it on the same pedestal as the others. RoR is here to stay.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>Important things to consider while building a Progressive Web App</title>
      <dc:creator>Unroll Tech</dc:creator>
      <pubDate>Sun, 21 Jun 2020 14:22:41 +0000</pubDate>
      <link>https://dev.to/unrolltech/important-things-to-consider-while-building-a-progressive-web-app-57p0</link>
      <guid>https://dev.to/unrolltech/important-things-to-consider-while-building-a-progressive-web-app-57p0</guid>
      <description>&lt;p&gt;The biggest &lt;a href="https://rootquotient.com/blog/2020/03/31/9-things-to-consider-while-building-progressive-web-app-pwa/"&gt;advantage of a Progressive Web App&lt;/a&gt; is providing instantly accessible, easy to share applications with the availability of features in offline mode. While PWA is a combination of both traditional websites and mobile app, there are certain parameters to make a good PWA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The ‘Progressive’ in PWA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Progressive Web App should be accessible in any device making the best use of the users’ device &amp;amp; browser features. It's also important that the website is constantly expanding &amp;amp; regularly updated for easy usage &amp;amp; app-like service. Progressive means ever-growing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Easily searchable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Website should be visible for anyone looking for it in a search engine. This is one aspect where Progressive Web App has an edge over native applications, which are not always visible in search engines. A discover-able PWA assists in reaching more people and without much trouble.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Faster user experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A good PWA is fast from the start throughout the time period of usage. Users should not be left waiting for the page to load or for any option to work. As the page loads quicker, it increases the usage probability by 123%. The user should have a smooth experience and not be left wondering if their selection was registered or not. The animation, scrolling, visibility of options, etc. should be transparent and smooth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Responsive to various screen sizes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A PWA can be accessed from any device starting from mobiles to tablets to laptops. So, it is crucial to building a web that fits any view port. The options must fit on the screen and be available for any device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Offline availability&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A native app never shows a blank page to a user. Similarly, a PWA should be customized for any user to access it offline. This is a major factor that acts as a bridge between a native application and a traditional website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. App-like service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A PWA should imitate an app and be built on an application shell model. It should carry minimum page refreshes and the same options as in a native app.The navigation and interaction should not be any different from a native app. This could be considered a trial for a user willing to download the native app at a later time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Re-engageable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Though native apps are more likely to see regular users, the intention of PWA should be to achieve that status. Re-engaging with the users through push notifications and other feasible modes sells the services easier and keeps the customer engaged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Linkable &amp;amp; installable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A URL that is easy to share and a design that indicates that the PWA is up-to-date is one of the characteristics inherited from a traditional website to make it more accessible. This will ensure easy access through bookmarks and readily shareable. Since it should be available offline, it should be easy to install the PWA on the home screen without involving the app store in between, making it readily available just like a native app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Safe and secure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since PWAs are accessible in any device and system, it has a more intimate connection with the users, indicating that it can be intercepted through service workers upon network requests. Hence, it has to be hosted with HTTPS to avoid being tampered with.Talking of security, it should be made obvious for the users as well. &lt;/p&gt;

&lt;p&gt;Taking permission while providing context and asking for API only when absolutely necessary are some of the responsible steps taken by the service providers to ensure safety to the users directly. Interruptive requests for location, credentials, notifications, etc. without context might develop distrust among the users.&lt;/p&gt;

&lt;p&gt;PWAs are often proven to be the best alternative for web developers to quickly cover a new set of audience without having to spend much time on developing native mobile apps. &lt;/p&gt;

&lt;p&gt;I would love hear the community's views about pros/cons of using PWAs in the place of native mobile apps.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>pwa</category>
      <category>javascript</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
