<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Digital Studio]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://dstudio.ca/</link><image><url>http://dstudio.ca/favicon.png</url><title>Digital Studio</title><link>https://dstudio.ca/</link></image><generator>Ghost 2.27</generator><lastBuildDate>Thu, 17 Jul 2025 13:17:22 GMT</lastBuildDate><atom:link href="https://dstudio.ca/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[React vs Angular: how a library can compete with a framework]]></title><description><![CDATA[<p>At the beginning of its development, SPA web platforms lacked a flexible but simple system for creating the projects that could amend and, in some cases, replace both mobile and desktop apps. At that time, a user whose problem was quite simple had to find an application capable of solving</p>]]></description><link>https://dstudio.ca/react-vs-angular-how-a-library-can-compete-with-a-framework/</link><guid isPermaLink="false">5d5d7d12c6403e4d73ea03d2</guid><category><![CDATA[Blog]]></category><dc:creator><![CDATA[Admin]]></dc:creator><pubDate>Wed, 21 Aug 2019 17:28:53 GMT</pubDate><media:content url="http://dstudio.ca/content/images/2019/08/1-5.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://dstudio.ca/content/images/2019/08/1-5.jpg" alt="React vs Angular: how a library can compete with a framework"><p>At the beginning of its development, SPA web platforms lacked a flexible but simple system for creating the projects that could amend and, in some cases, replace both mobile and desktop apps. At that time, a user whose problem was quite simple had to find an application capable of solving the problem. In the course of time, the technologies kept moving forward making web services gain popularity since the latter had no need to be installed. What was needed is just to visit a website for accessing one or another service. Previously, such tasks could be solved through websites written in either ActionScript or Java. However, those systems required to install either Flash or Java being at the same time far from the speed expected by the users.</p><p>At that point in time, JavaScript evolved quite sufficiently to leave behind its rivals due to a high speed, development simplicity, and continuous support of the browsers’ developers. The era of JavaScript started engendering such definition as SPA (Single Page Application) which provided a new approach to the development of web platforms. Unlike its forerunner MPA (Multi-Page Application), SPA allowed a web service to work much faster as well as to provide it with a more sophisticated functionality capable of changing dynamically in accordance with users’ needs. The biggest drawback was in pure JavaScript which could not provide a fast development when even a primitive SPA web service required a lot of time to be created. That’s why Google decided to support the approach with a framework that could help various companies develop complicated web services without spending too much time for it.</p><p>AngularJS was the first stage in SPA development allowing to create complicated SPA web platforms. In addition, it provided developing hybrid mobile applications along with desktop programs as well. After AngularJS appeared, some other companies decided to participate in the development of SPA web systems too. On the other hand, Facebook has found out its own approach to the development of web platforms. React was among the first libraries capable of competing with such strong rivals as AngularJS. Nevertheless, both systems are unique to differ significantly in addressing similar challenges. In contrast to AngularJS which is represented as just an SPA framework, React is able to work with both MPA and SPA. Angular is a JavaScript framework created on the basis of TypeScript.</p><p>Google is the Company which keeps developing and supporting the framework. At the very beginning, the version Angular 1 which was also known as AngularJS appeared. The first version was using pure JavaScript being a trial approach to the development of more powerful functionality. Angular 2 or ng2+ following AngularJS was critically improved. The most significant update of Angular implied a transition to a new TypeScript platform. Since then, the framework started working much faster than the first version did. Besides, the entry barrier became much lower. Such functions as Interfaces, Classes, and strong typing appeared in Angular. One of the crucial features is <em><em>@angular/</em></em><em><em>cli</em></em> which facilitates the project development. It provides an ability to create a project along with modules, services, and components. Also, the feature allows deploying the project providing its subsequent debugging through the embedded e2e tests. By the way, a release Angular 6 is already available. This is an updated bug-fixed version of Angular 2 having many new capabilities. At present, Angular is applied to Google, Wix, weather.com, healthcare.gov, Forbes.</p><p>As of writing this article, the latest release of Angular 6 is the fastest framework providing development of SPA web platforms. The syntax of TypeScript representing various capabilities for the development is closest to JavaScript. The available updates are the following:</p><ul><li>static typing</li><li>decorators</li><li>interfaces</li><li>namespaces</li></ul><p>React is a JavaScript library developed by Facebook which keeps supporting it along with launching new releases. The approach of React implies using components that can be displayed on the same page without being SPA, nevertheless. Facebook is more proactive in using React in its own projects than Google is with Angular. The main difference with Angular implies using JSX and Virtual DOM. The basic capability of JSC provides creation of rendered components by putting HTML-like code in JS files. As a result, React renders the code to display finally a dynamic HTML which can be changed depending on the situation. React is used in Airbnb, Uber, Netflix, Twitter, Pinterest, Reddit, Udemy, Wix, Paypal, Imgur, Feedly, Stripe, Tumblr, Walmart.</p><p>The peculiarity of React lies in using JavaScript which is sufficient for starting development. The dynamic typing in JavaScript does not allow to figure out whether a correct type of data is delivered to a component. Such a verification falls on the shoulders of a developer who has to trace the situation of such a kind in a code. The main advantage of React is using the latest version of JavaScript which allows a developer to learn nothing but React.</p><h2 id="core-development">Core development</h2><p>In order to look into the reasons for the popularity of both Angular and React, the detailed statistics is worth considering. The team page of Angular contains 36 developers while React has no team page at all. The popular web resource GitHub dedicated to open source projects represents 40 490 ranking stars along with 1 714 contributors for Angular. In its turn, React has 110 961 stars and 1 200 contributors respectively. The chart below represents the stats for the ranking stars belonging to both Angular and React.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-10.PNG" class="kg-image" alt="React vs Angular: how a library can compete with a framework"></figure><!--kg-card-end: image--><p>As we can see, React has much more stars than Angular, and the gap is growing continuously.<br>Another stats is provided by the package manager npm which offers the number of downloads for both Angular and React.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-11.PNG" class="kg-image" alt="React vs Angular: how a library can compete with a framework"></figure><!--kg-card-end: image--><p>Again we see how actively React outperforms Angular also in downloads. And the last chart we’d like you to check is Google Trends detecting popularity on the basis of the number of requests available in the Google search system.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-12.PNG" class="kg-image" alt="React vs Angular: how a library can compete with a framework"></figure><!--kg-card-end: image--><p>The situation is a little bit different here. At first, Angular was more popular in search, but later the trend has reversed. According to the latest data, React is at the top of searches now while Angular is following closely nevertheless.<br>We may not ignore a popular resource <a href="https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted">StackOverflow</a> which conducted a survey on who prefers what with regard to Angular and React. AngularJS (the Angular 2 version was beyond the survey, unfortunately) gained 52% of votes while React reached 67%. In response to the question about the lack of interest to further development, the framework by Google gained 48% of votes while its competitor reached only 33%. The important question about an intent to use the framework again later represented React with 92% of votes while Angular reached only 65%. Basing on the aforementioned data we can come to a conclusion that React is more popular among developers than Angular. In any case both React and Angular together are occupying 100% of popularity on the market that implies their leadership for a long time.</p><h2 id="typescript-vs-es6-jsx">TypeScript vs ES6 &amp; JSX</h2><p>In order to examine two different systems in the most objective manner, we need to check their main differences first. This time, we will consider only “out-of-the-box” versions. However, everyone can couple JSX with Angular as well as TypeScript with React.</p><p><strong><strong>Why TypeScript?</strong></strong></p><p>TypeScript is a special enhancement of JavaScript developed by Microsoft. It allows working with static typing along with reliable tools. The developers who work with JavaScript can avoid numerous bugs thanks to the solution.  TypeScript informs about the errors before the file is saved allowing, therefore, to write code many times faster. Such a practice enables developers to focus on the actually important issues.<br><br>Besides, another important capability of TypeScript provides establishing a development team. Usually, 1-2 persons are involved in development with JavaScript while its basic functionality limits a team to 5 developers. A lot still remains unfulfilled while the rest does not work correctly. Optimization in JavaScript depends on the developers who has to decide whether to optimize something or not on their own. React has done almost no improvements on the drawbacks which have been already settled with TypeScript.      <br><br>In fact, the developers belong to two opposing camps. Some believe that TypeScript is just the version of JavaScript which would appear from the very beginning. The others consider the dynamic typing as just the thing they need in JavaScript. It is hard to figure out which opinion should be the most appropriate. Many contemporary programming languages support both a dynamic typing and a static one. In such a situation, a lot depends on the personal preferences of every particular developer. Let’s check an exemplary case of how much better TypeScript behaves in comparison with JavaScript to grasp how well-considered TypeScript is in terms of development</p><!--kg-card-begin: code--><pre><code>// Basic JavaScript
function getPassword(clearTextPassword) {
 if (clearTextPassword) {
   return 'password';
 }
 return '********';
}

let password = getPassword('false'); // "password"
</code></pre><!--kg-card-end: code--><p>It is clearly obvious that a developer made a bug since instead of string s/he delivered boolean. Therefore, a bug is created without being traced that can lead to an error which another developer could make since the error was not identified immediately.<br>Here is how the same code is written in TypeScript:</p><!--kg-card-begin: code--><pre><code>// Written with TypeScript
function getPassword(clearTextPassword: boolean): string {
 if (clearTextPassword) {
   return 'password';
 }
 return '********';
}

let password = getPassword('false'); // throws: error TS2345: Argument of type '"false"' is not assignable to parameter of type 'boolean'.</code></pre><!--kg-card-end: code--><p>We determined the type of data expected for the arguments of a function along with what is to be returned. We immediately found an error in a code after compilation.<br>That was one of the simple cases that reveal the quality of a project. Besides, it shows what a time-consuming search for errors takes place while TypeScript rejects them by banning the very compilation.</p><p><strong><strong>React thinks otherwise</strong></strong></p><p>Every React developer has an opportunity to work with a special HTML-like syntax JSX to render components. Unfortunately, both TypeScript in Angular and React cannot do without JSX. Since TypeScript is considered almost a separate programming language, it is necessary to take a TypeScript course before getting down to Angular. But the React developers just need to look through a brief JSX documentation to start coding. The only innovations added by the system of development of highly loaded SPA systems are mentioned above. In fact, React offers nothing but a feature of template rendering. Hence, a code written in React will hardly be better than a pure JavaScript code. Some developers believe that React could be able to either solve some problems of JavaScript or, at least, enhance its capabilities.</p><p><strong><strong>Facebook and SPA development</strong></strong></p><p>The developers of programming languages strive to separate View from code in order to facilitate sharing of a project. Facebook, on the other hand, believed that keeping everything together was a more proper approach to componential development. The React proponents have an ambivalent vision of such an approach. Some of them are trying to limit JSX to minimum. The other developers actively use JSX having no idea why to reject it. The syntax allows to develop and add components in a simple manner facing, nevertheless, some insignificant problems with both the HTML template development and further integration to React. A more or less correct solution in case of a React-based project comes to an immediate integration of a design into React components.<br>In a similar case, Angular follows a more traditional approach when logic is separated from View. Once the Angular solution is based on Two-way data binding as well as on its own template engine, we can easily integrate an HTML template into View for Angular components. Even though the syntax of the Angular template engine has its own pros and cons, it does make integration dynamics into View in a simple manner. It allows adding Model for using such components in the other components that, therefore, lead to the creation of sophisticated SPA systems.       <br>  <br>Let’s take a look at a couple of examples with both Angular and React. The approach of Angular to components implies several files:</p><p><strong><strong>component.ts</strong></strong></p><!--kg-card-begin: code--><pre><code>import { Component, OnInit } from '@angular/core';
@Component({
 selector: 'app-component',
 templateUrl: './component.html',
 styleUrls: ['./component.scss']
})
export class Component implements OnInit {
 this.component_title: String = “Hello world”;
 constructor() {}
 ngOnInit() {}
}
</code></pre><!--kg-card-end: code--><p><strong><strong>component.html</strong></strong></p><!--kg-card-begin: code--><pre><code>&lt;p&gt;
 {{ component_title }}
&lt;/p&gt;</code></pre><!--kg-card-end: code--><p>In the given example a component displays “Hello world” in the midst of its View.<br>It is simpler when working with React: one file is enough to create a new component.</p><p><strong><strong>component.js</strong></strong></p><!--kg-card-begin: code--><pre><code>import React from 'react';

export class Component extends React.Component {

  render() {

      const text = "Hello world!";

      return (

          &lt;p&gt;

              {text}

          &lt;/p&gt;

      );

  };

}</code></pre><!--kg-card-end: code--><p>Each system has a different approach to the creation of components having its own pros and cons. And each developer is to decide which approach is more relevant for the project development.</p><h2 id="what-developers-face-at-the-very-beginning">What developers face at the very beginning</h2><p>Once React is the library which has no powerful out-of-the-box solutions, the developers have to find the modules they need on their own. On the other hand, the Angular developers face a set of solutions they cannot refuse from the very beginning. Every single one of the approaches does not imply the best solution. The React developers have to check the compatibility with the latest React version when many new libraries are to be involved. They have to do updates manually. Many libraries are created not by Facebook. That’s why the developers have to hope that the creators of their favorite library will update its compatibility with a new React version in time. The Angular developers have fewer concerns since the majority of tools are created by Google and, therefore, they are updated in parallel with a new version of Angular. Of course, the developers use the third-party libraries for one or another task, but the number of such libraries is significantly below the number React offers. Besides, fewer of them are important for a correct operation of a system.</p><p>While a React developer receives just a system core configured for working with JSX out of the box, an Angular developer can find the following:</p><ul><li>Angular CLI</li><li>E2E Tests</li><li>Forms</li><li>Modules for Animation, Localization etc.</li><li>TypeScript features</li><li>Angular Elements etc.</li></ul><p>A spectrum of the Angular tools is increasing continuously to support more and more solutions that allow reducing the need in the third-party libraries in the future to use Angular out of the box at full capacity.</p><h2 id="size-and-performance">Size and performance</h2><p>Once Angular is a framework, its size is significantly bigger than the size of a lightweight React. In terms of size, Angular is inferior to its competitor. However, some extra megabytes can hardly play a crucial role in the contemporary world. What is really important for the developers are both the performance and speed providing a pleasant work with a system.<br>The following is a benchmark comparison of both Angular and React.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-13.PNG" class="kg-image" alt="React vs Angular: how a library can compete with a framework"></figure><!--kg-card-end: image--><p>As the stats show, Angular works a little faster than React does. Angular 6 has a better performance than Angular 4 has, but even the previous version beats its competitor.<br>Of course, the difference is not too huge, but Angular can provide a better performance when a sophisticated system is under development. After all, the developers should figure out which system is more relevant for their tasks on their own.</p><h2 id="universal-solutions-and-native-ones">Universal solutions and native ones</h2><p>Both universal and native solutions are actively implemented in various types of applications such as web, mobile and desktop. Both React and Angular offer supporting native solutions. Angular has NativeScript (under support of Telerik) for native solutions along with the Ionic framework for developing hybrid apps. React offers react-native-render for the development of cross-platform solutions as well as React Native for native apps. Both variants are in the equally active use having almost no difference for an average user in operation. The solutions allow reducing labor when a system having both web and native apps is created. The hybrid solutions can offer neither a high speed nor stability in operation, unfortunately. But for simple tasks they are sufficient.</p><h2 id="learning-process">Learning process</h2><p>It’s quite explainable that mastering of Angular implies a more difficult learning process. The documentation is ample and difficult to learn that requires significantly more time for training. Besides, learning of TypeScript is to be added to the process that makes the developers doubt whether the Angular theory is worth their time.        <br>Even though Google is trying to simplify the learning process with both tutorials and articles about how to start, the load on the developers can hardly be reduced. React, by contrast, allows starting working at once requiring the knowledge of JavaScript as the only condition.<br>Both systems offer their specific approaches to the development. One way or another, but the developers have to decide what is more important for them. It is necessary to realize that both Angular and React imply different methods the developers have to follow when they choose one or another system to work.</p><h2 id="conclusion">Conclusion</h2><p>Both Angular and React are great systems for executing various tasks in the web project development. Angular is better suited to the developers who would like to have everything necessary out of the box thinking about neither manual updates nor third-party libraries. React, in its turn, allows configuring a project in a more flexible manner according to its objectives.<br>Both solutions have their specific pros and cons. And understanding of them should be taken into consideration when a final decision on what to choose is to be made. The end users can hardly distinguish one approach from another if both ones are developed in a correct and high-quality manner.<br>A developer who has a working experience with TypeScript will most probably choose Angular as a basic framework. The one who prefers to control a number of libraries inside a project will opt for React.<br>No fully universal solution is available - the choice is up to you in accordance with the project objectives you chase.</p>]]></content:encoded></item><item><title><![CDATA[10 Popular PHP frameworks in 2019]]></title><description><![CDATA[<!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-8.PNG" class="kg-image"></figure><!--kg-card-end: image--><p>PHP, or hypertext preprocessor, is an open-source server-side scripting language. It’s extremely popular, too — almost 80% of all websites were using PHP as of October 2018.</p><blockquote>But how do you know which PHP framework is right for you?</blockquote><h3 id="why-use-a-php-framework">Why use a PHP framework?</h3><p>This post will list the 10</p>]]></description><link>https://dstudio.ca/10-popular-php-frameworks-in-2019/</link><guid isPermaLink="false">5d5cb0322874d84aafafeeee</guid><category><![CDATA[Blog]]></category><dc:creator><![CDATA[Admin]]></dc:creator><pubDate>Wed, 21 Aug 2019 03:30:49 GMT</pubDate><media:content url="http://dstudio.ca/content/images/2019/08/1-4.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-8.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><img src="http://dstudio.ca/content/images/2019/08/1-4.jpg" alt="10 Popular PHP frameworks in 2019"><p>PHP, or hypertext preprocessor, is an open-source server-side scripting language. It’s extremely popular, too — almost 80% of all websites were using PHP as of October 2018.</p><blockquote>But how do you know which PHP framework is right for you?</blockquote><h3 id="why-use-a-php-framework">Why use a PHP framework?</h3><p>This post will list the 10 best PHP frameworks out there to help you choose.<br>A PHP framework provides a basic structure for streamlining the development of web apps. We use them because they speed up the development process.<br>Above all, the responsiveness of websites and applications built using PHP frameworks helps businesses fulfill their performance needs. So there’s no doubt that PHP frameworks will continue gaining attention and popularity in 2019.</p><h3 id="the-top-10-php-frameworks">The top 10 PHP frameworks</h3><p>Here’s a list of the best PHP frameworks, based on popularity and ability to facilitate application development.</p><h3 id="laravel">Laravel</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/1.jpg" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p><a href="https://laravel.com/">Laravel</a> is a top PHP framework<br>Introduced in 2011, <a href="https://laravel.com/">Laravel</a> has become the most popular free, open-source PHP framework in the world. Why? Because it can handle complex web applications securely, at a considerably faster pace than other frameworks. <a href="https://laravel.com/">Laravel</a> simplifies the development process by easing common tasks such as routing, sessions, caching, and authentication.</p><p><strong>Reasons to use Laravel</strong><br><a href="https://laravel.com/">Laravel</a> is suitable when developing applications with complex backend requirements, whether small or large. Installing <a href="https://laravel.com/">Laravel</a> has been made easier by the introduction of Homestead, a prepackaged, all-in-one vagrant box.<br>It’s a PHP framework full of features that will help you customize complex apps. Among these: seamless data migration, MVC architecture support, security, routing, view template engine, and authentication, among many others.<br><a href="https://laravel.com/">Laravel</a> is highly expressive, and its speed and security are in line with expectations for a modern web application. For developers who want to build B2B or enterprise websites that will evolve with changing web trends, <a href="https://laravel.com/">Laravel</a> is the way to go.</p><h3 id="codeigniter">CodeIgniter</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/1-1.jpg" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p><a href="https://www.codeigniter.com/">CodeIgniter</a> is a top PHP framework<br>Known for its small footprint (it’s only about 2 MB in size, including the documentation) <a href="https://www.codeigniter.com/">CodeIgniter</a> is a PHP framework suitable for developing dynamic websites. It offers numerous prebuilt modules that help with constructing robust and reusable components.</p><p><strong>Reasons to use CodeIgniter</strong><br><a href="https://www.codeigniter.com/">CodeIgniter</a> is a lightweight and straightforward PHP framework that’s hassle-free to install, unlike other frameworks. Due to a simple setup process and highly illustrated documentation, it’s ideal for beginners.<br>Key features include an MVC architecture, top-notch error handling, inbuilt security tools, and simple and excellent documentation. In addition, it creates scalable apps.<br>Compared with other frameworks, <a href="https://www.codeigniter.com/">CodeIgniter</a> is considerably faster. Since it also offers solid performance, it’s a good choice when you want to develop lightweight applications to run on modest servers. One caveat: <a href="https://www.codeigniter.com/">CodeIgniter</a> releases are a bit irregular, so the framework isn’t a great option for an application that requires high-level security.</p><h3 id="symfony">Symfony</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p><a href="https://symfony.com/">Symfony</a> is a top PHP framework<br>The <a href="https://symfony.com/">Symfony</a> framework was launched in 2005, and although it’s been in existence for much longer than other frameworks on this list, it’s a reliable and mature platform. <a href="https://symfony.com/">Symfony</a> is an extensive PHP MVC framework and the only framework known to follow PHP and web standards to the tee.</p><p><strong>Reasons to use Symfony</strong><br><a href="https://symfony.com/">Symfony</a> is the perfect choice for developing large-scale enterprise projects. It’s easy to install and configure on most platforms.<br>One of its key features? It’s reusable PHP components. It also boasts database engine–independence, and it’s stable, complies with most web best practices and design patterns, and allows for integration with other vendor libraries.<br><a href="https://symfony.com/">Symfony</a> is also highly flexible and can integrate with bigger projects like Drupal. <a href="https://symfony.com/">Symfony</a> and Laravel have many common and unique features, which makes it difficult to say which of these frameworks is better.<br>However, while Laravel focuses more on simplicity and delivering value, even for developers who are not advanced, <a href="https://symfony.com/">Symfony</a> targets advanced developers and is a bit harder to start with. In addition, the <a href="https://symfony.com/">Symfony</a> security mechanism is a bit difficult to use. And, because it lets developers “do it all,” it can be slower than other frameworks.</p><h3 id="cakephp">CakePHP</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-1.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p><a href="https://cakephp.org/">CakePHP</a> is a top PHP framework<br>If you’re looking for a toolkit that’s simple and elegant, look no further. CakePHP will help you develop visually impressive, feature-loaded websites. In addition, CakePHP is one of the easiest frameworks to learn, especially because of its CRUD (create, read, update, and delete) framework. CakePHP hit the market in the early 2000s, and since then it’s gained better performance and many new components.</p><p><strong>Reasons to use CakePHP</strong><br>CakePHP is simple and easy to install, as you only need a web server and a copy of the framework.<br>It makes a good choice for commercial applications due to security features that include SQL injection prevention, input validation, cross-site request forgery (CSRF) protection, and cross-site scripting (XSS) protection.<br>Some key features include a modern framework, fast builds, proper class inheritance, validation, and security. In addition, CakePHP provides great documentation, many support portals, and premium support through Cake Development Corporation.</p><h3 id="yii">Yii</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-2.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p>Yii is a top PHP framework<br>The Yii framework — which stands for Yes, it is! — is, in fact, simple and evolutionary. It’s a high-performance, component-based PHP framework for developing modern web applications. Yii is suitable for all kinds of web apps. For this reason, it’s a universal web programming framework.</p><p><strong>Reasons to use Yii</strong><br><a href="https://www.yiiframework.com/">Yii</a> has an easy installation process. Furthermore, its robust security features make the framework suitable for highly secure endeavors such as e-commerce projects, portals, CMS, forums, and many others.<br>It boasts excellent speed and performance, it’s highly extensible, and it lets developers avoid the complexity of writing repetitive SQL statements, as they can model the database data in terms of objects.<br>Yii has a core developer team and experts that contribute to its development. With a massive community using it, you can post issues on Yii forums and get help.<br>Yii is extremely extensible, and you can customize nearly every piece of the core’s code. However, if it’s your first time using it, be prepared for a steep learning curve.</p><h3 id="zend-framework">Zend Framework</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-3.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p>Zend is a top PHP framework<br>The <a href="https://framework.zend.com/">Zend framework</a> is a complete object-oriented framework, and the fact that it uses features such as interfaces and inheritance makes it extendable. It was built on the agile methodology, which helps you to deliver high-quality applications to enterprise clients. Zend is highly customizable and abides by PHP best practices—an important point for developers who want to add project-specific functionalities.</p><p><strong>Reasons to use Zend</strong><br>Zend framework is an excellent fit for complex, enterprise-level projects. It’s the preferred framework for large IT departments and banks.<br>Some key features include MVC components, simple cloud API, data encryption, and session management.<br>It can integrate with external libraries, and you can use only the components you want. The Zend framework comes with extremely good documentation and has a large community base. However, if you’re a mobile app builder, get ready for a steep learning curve.</p><h3 id="phalcon">Phalcon</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-4.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p>Phalcon is a top PHP framework<br>A full-stack PHP framework that employs the MVC web architecture design pattern, <a href="https://phalconphp.com/en">Phalcon</a> was originally written in C and C++ and released in 2012. Since it’s delivered as a C-extension, you don’t have to worry about learning the C programming language.</p><p><strong>Reasons to use Phalcon</strong><br>Phalcon is easy to install and suitable for creating highly configurable web applications that are in line with enterprise development guidelines.<br>Key features include increased execution speed, asset management, a universal autoloader, and top security and caching.<br>Unlike other frameworks, Phalcon optimizes performance due to its efficient memory utilization. If you’re looking to create a blazing fast website, give Phalcon a try.<br>On the negative side, Phalcon developers are a bit slow to patch bugs, which may not jive with today’s need for high levels of security.</p><h3 id="swoft">Swoft</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-5.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p><a href="https://github.com/swoft-cloud/swoft">Swoft</a> is a PHP high performance microservice coroutine framework. It has been published for many years and has become the best choice for php. It can be like Go, built-in coroutine web server and common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations.</p><p><strong>Reasons to use Swoft</strong><br>Based on Swoole native Coroutine, comes with a resident memory and a package of other Swoole features.<br>Comes with Mysql/Redis/Rpc efficient connection pool and all connection disconnection reconnection. Developers not do care about connection pooling, and the corresponding components have been implemented.<br>AOP can be used for all objects managed by the framework container. Using AOP allows you to control the behavior of instance objects without changing the inside of the instance.<br>The RPC service is divided into RPC Server and RPC Client, and the framework provides a more elegant way to use RPC services like Dubbo.<br>With service mesh frameworks such as Istio/Envoy, and provides a set of rapid build microservice governance components for small and medium-sized businesses, including service registration and discovery, service bucks, service throttling, and configuration centers.</p><h3 id="phpixie">PHPixie</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-6.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p>Introduced in 2012 and just like FuelPHP, <a href="https://phpixie.com/">PHPixie</a> implements the HMVC design pattern. Its goal was to create a high-performance framework for read-only websites.</p><p><strong>Reasons to use PHPixie</strong><br>It’s easy to get started with <a href="https://phpixie.com/">PHPixie</a>, which is suitable for social networking websites, customized web applications, and web app development services.<br>Key features include HMVC architecture, standard ORM (object-relational mapping), input validation, authorization capabilities, authentication, and caching.<br><a href="https://phpixie.com/">PHPixie</a> is built using independent components. For this reason, you can use it without the framework itself. Note that <a href="https://phpixie.com/">PHPixie</a> has relatively few modules. Besides that, it lacks support for components independently made from the dependencies. Since it’s relatively new, it’s less popular and has a smaller community of users than other frameworks.</p><h3 id="slim">Slim</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="http://dstudio.ca/content/images/2019/08/Capture-7.PNG" class="kg-image" alt="10 Popular PHP frameworks in 2019"></figure><!--kg-card-end: image--><p>Slim is a top PHP framework<br><a href="https://www.slimframework.com/">Slim</a> is another popular PHP micro-framework that helps developers quickly create simple but powerful web applications and APIs.</p><p><strong>Reasons to use Slim</strong><br>Just like PHPixie, <a href="https://www.slimframework.com/">Slim</a> is easy to learn. PHP developers use Slim to develop RESTful APIs and web services.<br>Key features include URL routing, session, and cookie encryption, client-side HTTP caching, and more.<br>It’s the best framework for a small web application that doesn’t necessarily require a full-stack PHP framework. In addition, active maintenance and friendly documentation make Slim super user-friendly.</p><h3 id="which-php-framework-is-right-for-you">Which PHP framework is right for you?</h3><p>Using PHP frameworks simplifies the development process, which helps to minimize workload. Each framework has its own strengths and weaknesses, and they all vary in terms of community, documentation, and the database they support.<br>As such, the decision on the best framework to use depends on various factors such as security, ease of use, scalability, documentation, and more. So, start by understanding the requirements of the project or application you want to develop. Then, choose the most suitable PHP framework from this list. You can’t go wrong.</p>]]></content:encoded></item><item><title><![CDATA[ATV Launcher Pro Privacy Policy]]></title><description><![CDATA[<p><strong>PRIVACY NOTICE</strong></p><p><strong>Last updated August 20, 2019 </strong></p><p><br></p><p>Thank you for choosing to be part of our community at <strong>DStudio Montreal </strong>(“<strong>DStudio</strong>”<strong>, </strong>“<strong>Company</strong>”, “<strong>we</strong>”, “<strong>us</strong>”, or “<strong>our</strong>”). We are committed to protecting your personal information and your right to privacy. If you have any questions or concerns about our notice, or</p>]]></description><link>https://dstudio.ca/atv-launcher-pro-privacy-policy/</link><guid isPermaLink="false">5d5bfccc13440b4599dfa1fe</guid><category><![CDATA[Portfolio]]></category><category><![CDATA[ATV Launcher Pro]]></category><dc:creator><![CDATA[Admin]]></dc:creator><pubDate>Tue, 20 Aug 2019 14:16:59 GMT</pubDate><content:encoded><![CDATA[<p><strong>PRIVACY NOTICE</strong></p><p><strong>Last updated August 20, 2019 </strong></p><p><br></p><p>Thank you for choosing to be part of our community at <strong>DStudio Montreal </strong>(“<strong>DStudio</strong>”<strong>, </strong>“<strong>Company</strong>”, “<strong>we</strong>”, “<strong>us</strong>”, or “<strong>our</strong>”). We are committed to protecting your personal information and your right to privacy. If you have any questions or concerns about our notice, or our practices with regards to your personal information, please contact us at <a href="mailto:info@dstudio.ca">info@dstudio.ca</a>.</p><p>When you visit our mobile application, and use our services, you trust us with your personal information. We take your privacy very seriously. In this privacy notice, we describe our privacy notice. We seek to explain to you in the clearest way possible what information we collect, how we use it and what rights you have in relation to it. We hope you take some time to read through it carefully, as it is important. If there are any terms in this privacy notice that you do not agree with, please discontinue use of our Apps and our services.</p><p>This privacy notice applies to all information collected through our mobile application,  <a href="https://play.google.com/store/apps/details?id=ca.dstudio.atvlauncher.pro">ATV Launcher Pro</a>  ("<strong>Apps</strong>"), and/or any related services, sales, marketing or events (we refer to them collectively in this privacy notice as the "<strong>Services</strong>").</p><p><strong>Please read this privacy notice carefully as it will help you make informed decisions about sharing your personal information with us.  </strong></p><p><br></p><p><strong>1. WHAT INFORMATION DO WE COLLECT? </strong></p><p><strong>Information automatically collected</strong></p><p><strong><em>In Short:</em> </strong><em>Some information – such as IP address and/or browser and device characteristics – is collected automatically when you visit our Apps.</em></p><p>We automatically collect certain information when you visit, use or navigate the Apps. This information does not reveal your specific identity (like your name or contact information) but may include device and usage information, such as your IP address, browser and device characteristics, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Apps and other technical information. This information is primarily needed to maintain the security and operation of our Apps, and for our internal analytics and reporting purposes.</p><p>Like many businesses, we also collect information through cookies and similar technologies.</p><p><strong>Information collected through our Apps</strong></p><p><strong><em>In Short:</em>  </strong><em>We may collect information regarding your geo-location, mobile device, when you use our apps.</em></p><p>If you use our Apps, we may also collect the following information:</p><ul><li><em>Geo-Location Information.</em> We may request access or permission to and track location-based information from your mobile device, either continuously or while you are using our mobile application, to provide location-based services. If you wish to change our access or permissions, you may do so in your device’s settings.    <br><br></li><li><em>Mobile Device Access.</em> We may request access or permission to certain features from your mobile device, including your mobile device’s bluetooth, storage, microphone, and other features. If you wish to change our access or permissions, you may do so in your device’s settings.       <br><br></li><li><em>Mobile Device Data.</em> We may automatically collect device information (such as your mobile device ID, model and manufacturer), operating system, version information and IP address.</li></ul><p><br></p><p><strong>2. HOW DO WE USE YOUR INFORMATION? </strong></p><p><strong><em>In Short: </em> </strong><em>We process your information for purposes based on legitimate business interests, the fulfillment of our contract with you, compliance with our legal obligations, and/or your consent.</em></p><p>We use personal information collected via our Apps for a variety of business purposes described below. We process your personal information for these purposes in reliance on our legitimate business interests, in order to enter into or perform a contract with you, with your consent, and/or for compliance with our legal obligations. We indicate the specific processing grounds we rely on next to each purpose listed below.</p><p>We use the information we collect or receive:</p><ul><li><strong>To facilitate account creation and logon process.</strong> If you choose to link your account with us to a third party account *(such as your Google or Facebook account), we use the information you allowed us to collect from those third parties to facilitate account creation and logon process for the performance of the contract.See the section below headed "HOW DO WE HANDLE YOUR SOCIAL LOGINS" for further information.                             <br><br></li><li><strong>To manage user accounts</strong>. We may use your information for the purposes of managing our account and keeping it in working order.  <br></li><li><strong>To deliver services to the user.</strong> We may use your information to provide you with the requested service.   We may use and store this information in aggregated and anonymized form so that it is not associated with individual end users and does not include personal information. We will not use identifiable personal information without your consent.</li></ul><p><strong>3. WILL YOUR INFORMATION BE SHARED WITH ANYONE? </strong></p><p><strong><em>In Short: </em> </strong><em>We only share information with your consent, to comply with laws, to provide you with services, to protect your rights, or to fulfill business obligations. </em>  <br>We may process or share data based on the following legal basis:</p><ul><li><strong>Consent:</strong> We may process your data if you have given us specific consent to use your personal information in a specific purpose. <br><br></li><li><strong>Legitimate Interests:</strong> We may process your data when it is reasonably necessary to achieve our legitimate business interests. <br><br></li><li><strong>Performance of a Contract: </strong>Where we have entered into a contract with you, we may process your personal information to fulfill the terms of our contract. <br><br></li><li><strong>Legal Obligations:</strong> We may disclose your information where we are legally required to do so in order to comply with applicable law, governmental requests, a judicial proceeding, court order, or legal process, such as in response to a court order or a subpoena (including in response to public authorities to meet national security or law enforcement requirements). <br><br></li><li><strong>Vital Interests:</strong> We may disclose your information where we believe it is necessary to investigate, prevent, or take action regarding potential violations of our policies, suspected fraud, situations involving potential threats to the safety of any person and illegal activities, or as evidence in litigation in which we are involved.</li></ul><p>More specifically, we may need to process your data or share your personal information in the following situations:</p><ul><li><strong>Vendors, Consultants and Other Third-Party Service Providers.</strong> We may share your data with third party vendors, service providers, contractors or agents who perform services for us or on our behalf and require access to such information to do that work. Examples include: payment processing, data analysis, email delivery, hosting services, customer service and marketing efforts. We may allow selected third parties to use tracking technology on the Apps, which will enable them to collect data about how you interact with the Apps over time. This information may be used to, among other things, analyze and track data, determine the popularity of certain content and better understand online activity. Unless described in this Policy, we do not share, sell, rent or trade any of your information with third parties for their promotional purposes.   <br><br></li><li><strong>Business Transfers.</strong> We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company.<br><br></li><li><strong>Third-Party Advertisers.</strong> We may use third-party advertising companies to serve ads when you visit the Apps. These companies may use information about your visits to our Website(s) and other websites that are contained in web cookies and other tracking technologies in order to provide advertisements about goods and services of interest to you. <br><br></li><li><strong>Affiliates.</strong> We may share your information with our affiliates, in which case we will require those affiliates to honor this privacy notice. Affiliates include our parent company and any subsidiaries, joint venture partners or other companies that we control or that are under common control with us. <br><br></li><li><strong>Business Partners.</strong> We may share your information with our business partners to offer you certain products, services or promotions.        <br>     <br><strong>4. DO WE USE COOKIES AND OTHER TRACKING TECHNOLOGIES? </strong></li></ul><p><strong><em>In Short: </em> </strong><em>We may use cookies and other tracking technologies to collect and store your information.</em></p><p>We may use cookies and similar tracking technologies (like web beacons and pixels) to access or store information. Specific information about how we use such technologies and how you can refuse certain cookies is set out in our Cookie Policy.</p><p><br></p><p><strong>5. HOW DO WE HANDLE YOUR SOCIAL LOGINS? </strong></p><p><strong><em>In Short: </em> </strong><em>If you choose to register or log in to our services using a social media account, we may have access to certain information about you.</em></p><p>Our Apps offer you the ability to register and login using your third party social media account details (like your Facebook or Twitter logins). Where you choose to do this, we will receive certain profile information about you from your social media provider. The profile Information we receive may vary depending on the social media provider concerned, but will often include your name, e-mail address, friends list, profile picture as well as other information you choose to make public.</p><p>We will use the information we receive only for the purposes that are described in this privacy notice or that are otherwise made clear to you on the Apps . Please note that we do not control, and are not responsible for, other uses of your personal information by your third party social media provider. We recommend that you review their privacy policy to understand how they collect, use and share your personal information, and how you can set your privacy preferences on their sites and apps.</p><p><br></p><p><strong>6. IS YOUR INFORMATION TRANSFERRED INTERNATIONALLY? </strong></p><p><strong><em>In Short: </em> </strong><em>We may transfer, store, and process your information in countries other than your own.</em></p><p>Our servers are located in United States, and Canada. If you are accessing our Apps from outside United States, and Canada, please be aware that your information may be transferred to, stored, and processed by us in our facilities and by those third parties with whom we may share your personal information (see "WILL YOUR INFORMATION BE SHARED WITH ANYONE?" above), in United States, Canada, and other countries.</p><p>If you are a resident in the European Economic Area, then these countries may not have data protection or other laws as comprehensive as those in your country. We will however take all necessary measures to protect your personal information in accordance with this privacy notice and applicable law.</p><p>EU-U.S. Privacy Shield Framework:</p><p>In particular Company complies with the EU-U.S. Privacy Shield Framework as set forth by the U.S. Department of Commerce regarding the collection, use, and retention of personal information transferred from the European Union to the United States and has certified its compliance with it. As such, Company is committed to subjecting all personal information received from European Union (EU) member countries, in reliance on the Privacy Shield Framework, to the Framework’s applicable Principles. To learn more about the Privacy Shield Framework, visit the <a href="https://www.privacyshield.gov/list">U.S. Department of Commerce’s Privacy Shield List</a>.</p><p>Company is responsible for the processing of personal information it receives, under the Privacy Shield Framework, and subsequently transfers to a third party acting as an agent on its behalf.</p><p>With respect to personal information received or transferred pursuant to the Privacy Shield Framework, Company is subject to the regulatory enforcement powers of the U.S. FTC. In certain situations, we may be required to disclose personal information in response to lawful requests by public authorities, including to meet national security or law enforcement requirements.</p><p><br></p><p><strong>7. WHAT IS OUR STANCE ON THIRD-PARTY WEBSITES? </strong></p><p><strong><em>In Short: </em> </strong><em>We are not responsible for the safety of any information that you share with third-party providers who advertise, but are not affiliated with, our websites. </em></p><p>The Apps may contain advertisements from third parties that are not affiliated with us and which may link to other websites, online services or mobile applications. We cannot guarantee the safety and privacy of data you provide to any third parties. Any data collected by third parties is not covered by this privacy notice. We are not responsible for the content or privacy and security practices and policies of any third parties, including other websites, services or applications that may be linked to or from the Apps . You should review the policies of such third parties and contact them directly to respond to your questions.</p><p><br></p><p><strong>8. HOW LONG DO WE KEEP YOUR INFORMATION? </strong></p><p><strong><em>In Short: </em> </strong><em>We keep your information for as long as necessary to fulfill the purposes outlined in this privacy notice unless otherwise required by law. </em></p><p>We will only keep your personal information for as long as it is necessary for the purposes set out in this privacy notice, unless a longer retention period is required or permitted by law (such as tax, accounting or other legal requirements). No purpose in this policy will require us keeping your personal information for longer than 2 years.</p><p>When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymize it, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.   <br></p><p><strong>9. HOW DO WE KEEP YOUR INFORMATION SAFE?  </strong></p><p><strong><em>In Short: </em> </strong><em>We aim to protect your personal information through a system of organizational and technical security measures.</em></p><p>We have implemented appropriate technical and organizational security measures designed to protect the security of any personal information we process. However, please also remember that we cannot guarantee that the internet itself is 100% secure. Although we will do our best to protect your personal information, transmission of personal information to and from our Apps is at your own risk. You should only access the services within a secure environment.</p><p><br></p><p><strong>10. DO WE COLLECT INFORMATION FROM MINORS? </strong></p><p><strong><em>In Short: </em> </strong><em>We do not knowingly collect data from or market to children under 18 years of age.</em></p><p>We do not knowingly solicit data from or market to children under 18 years of age. By using the Apps, you represent that you are at least 18 or that you are the parent or guardian of such a minor and consent to such minor dependent’s use of the Apps. If we learn that personal information from users less than 18 years of age has been collected, we will deactivate the account and take reasonable measures to promptly delete such data from our records. If you become aware of any data we have collected from children under age 18, please contact us at <a href="mailto:info@dstudio.ca">info@dstudio.ca</a>.</p><p><br></p><p><strong>11. WHAT ARE YOUR PRIVACY RIGHTS? </strong></p><p><strong><em>In Short: </em> </strong><em>In some regions, such as the European Economic Area, you have rights that allow you greater access to and control over your personal information. You may review, change, or terminate your account at any time.</em></p><p>In some regions (like the European Economic Area), you have certain rights under applicable data protection laws. These may include the right (i) to request access and obtain a copy of your personal information, (ii) to request rectification or erasure; (iii) to restrict the processing of your personal information; and (iv) if applicable, to data portability. In certain circumstances, you may also have the right to object to the processing of your personal information. To make such a request, please use the contact details  provided below. We will consider and act upon any request in accordance with applicable data protection laws.</p><p>If we are relying on your consent to process your personal information, you have the right to withdraw your consent at any time. Please note however that this will not affect the lawfulness of the processing before its withdrawal.</p><p>If you are resident in the European Economic Area and you believe we are unlawfully processing your personal information, you also have the right to complain to your local data protection supervisory authority. You can find their contact details here: <a href="http://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm">http://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm</a></p><p><strong><u>Cookies and similar technologies:</u> </strong>Most Web browsers are set to accept cookies by default. If you prefer, you can usually choose to set your browser to remove cookies and to reject cookies. If you choose to remove cookies or reject cookies, this could affect certain features or services of our Apps. To opt-out of interest-based advertising by advertisers on our  Apps visit  <a href="http://www.aboutads.info/choices/">http://www.aboutads.info/choices/</a> .</p><p><br></p><p><strong>12. CONTROLS FOR DO-NOT-TRACK FEATURES </strong></p><p>Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track (“DNT”) feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. No uniform technology standard for recognizing and implementing DNT signals has been finalized. As such, we do not currently respond to DNT browser signals or any other mechanism that automatically communicates your choice not to be tracked online. If a standard for online tracking is adopted that we must follow in the future, we will inform you about that practice in a revised version of this privacy notice.</p><p><br></p><p><strong>13. DO CALIFORNIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS? </strong></p><p><strong><em>In Short: </em> </strong><em>Yes, if you are a resident of California, you are granted specific rights regarding access to your personal information. </em></p><p>California Civil Code Section 1798.83, also known as the “Shine The Light” law, permits our users who are California residents to request and obtain from us, once a year and free of charge, information about categories of personal information (if any) we disclosed to third parties for direct marketing purposes and the names and addresses of all third parties with which we shared personal information in the immediately preceding calendar year. If you are a California resident and would like to make such a request, please submit your request in writing to us using the contact information provided below.</p><p>If you are under 18 years of age, reside in California, and have a registered account with the Apps, you have the right to request removal of unwanted data that you publicly post on the Apps. To request removal of such data, please contact us using the contact information provided below, and include the email address associated with your account and a statement that you reside in California. We will make sure the data is not publicly displayed on the Apps, but please be aware that the data may not be completely or comprehensively removed from our systems.</p><p><br></p><p><strong>14. DO WE MAKE UPDATES TO THIS POLICY? </strong></p><p><strong><em>In Short: </em> </strong><em>Yes, we will update this policy as necessary to stay compliant with relevant laws.</em></p><p>We may update this privacy notice from time to time. The updated version will be indicated by an updated “Revised” date and the updated version will be effective as soon as it is accessible. If we make material changes to this privacy notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a notification. We encourage you to review this privacy notice frequently to be informed of how we are protecting your information.</p><p><br></p><p><strong>15. HOW CAN YOU CONTACT US ABOUT THIS POLICY? </strong></p><p>If you have questions or comments about this policy, you may email us at <a href="mailto:info@dstudio.ca">info@dstudio.ca</a> or by post to:</p><p><em>DStudio Montreal  </em></p><p><em>38 Placedu Commerce, Suite #11-105 Verdun, Quebec H3E 1T8 </em></p><p><em>Canada   <br></em></p>]]></content:encoded></item></channel></rss>