Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News - Front-End Web Development

158 Articles
article-image-primetek-releases-primereact-2-0-0-beta-3-version
Fatema Patrawala
28 Aug 2018
2 min read
Save for later

PrimeTek releases PrimeReact 2.0.0 Beta 3 version

Fatema Patrawala
28 Aug 2018
2 min read
PrimeTek announced a brand new theming engine PrimeReact bringing the Nova theme family and the PrimeReact Theme Designer tool to create your own themes with ease. PrimeReact theming infrastructure has been reimplemented from scratch and the Nova theme family has been introduced to give a modern and premium look to the components. Nova themes are open source under MIT license and the css ships with PrimeReact. You can experience the live demo that runs on Nova. Please note that older themes are removed as they can no longer support the new engine. The premium themes such as Ultima, Serenity, Avalon will be updated to PrimeReact 2.0.0 by mid September. Additional features in PrimeReact 2.0.0 PrimeReact designer API is a SASS based theme engine to create PrimeReact themes easily featuring over 500 variables, a demo application and a base sample theme. If you have your own style guide or need a custom theme quickly, Designer API is a perfect tool to design and bring them to existence. Designer also includes the SASS structure and whole variables of Nova theme family, so if you’d like to customize Nova, you may consider Designer as well. Team has also spent significant time on improving the overall quality of maintenance issues. “PrimeReact is very close to 2.0.0-Final release, two remaining main tasks are rewriting the Tree and TreeTable components, we plan to release 2.0.0-Final by the end of September.”, says the PrimeReact team. Is your web design responsive? Tips and tricks to optimize your responsive web design Is novelty ruining web development?  
Read more
  • 0
  • 0
  • 11978

article-image-googles-app-maker-a-low-code-tool-for-building-business-apps-is-now-generally-available
Sugandha Lahoti
15 Jun 2018
2 min read
Save for later

Google’s App Maker, a low-code tool for building business apps, is now generally available

Sugandha Lahoti
15 Jun 2018
2 min read
Google's App Maker, has come out of its private preview mode and is now generally available. App Maker is an online tool for building and deploying business apps on the web. The company has remained quiet about its development ever since the launch one and a half years ago. However, now seeing the surge in making everything open source, App Maker remains open and free for all developers who want to give it a shot. App Maker is available to all G Suite Business and Enterprise customers, as well as G Suite for Education customers. If App Maker isn’t yet enabled for your eligible domain, you can turn it on in the Apps > Additional Google services section of the Admin console. The newly designed App Maker also has multiple features added to its basket. Most prominently, it now offers built-in support for Cloud SQL bringing high performance, scalability, and convenience. It has a Bring Your Own Database (BYODB) model, letting you connect it to the database of your choice using JDBC or a REST API. The new Google App Maker is fast and highly automated for app designing and development with Responsive templates, samples, a drag-and-drop UI design and declarative data modeling. It can be easily connected with data and services such as Gmail, Calendar, or Sheets. You can also use Apps Script to access over 40 Google services, Google Cloud Platform and other third-party services that support JDBC and REST. In fact, G Suite administrators will have complete visibility over the apps running in their organization. They can now view owners, usage metrics, and OAuth permissions. For example, you can view the activity of users using the Drive audit logs, or view the activity of end users in the OAuth Token audit logs. Administrators will also be able to prevent apps from running without their approval with expanded OAuth Whitelisting controls. You can read the details on Google Blog. For more information on App Maker, check out the Help Center. Google’s translation tool is now offline – and more powerful than ever thanks to AI Top reasons to use Google Lighthouse 3.0 Google Kubernetes Engine 1.10 is now generally available and ready for enterprise use
Read more
  • 0
  • 0
  • 11945

article-image-the-ember-project-announces-version-3-4-of-ember-js-ember-data-and-ember-cli
Bhagyashree R
08 Oct 2018
4 min read
Save for later

The Ember project announces version 3.4 of Ember.js, Ember Data, and Ember CLI

Bhagyashree R
08 Oct 2018
4 min read
Yesterday, the Ember project announced the release of version 3.4 of the three core sub-projects: Ember.js, Ember Data, and Ember CLI. Ember is an open source JavaScript frontend framework, which is based on Model-View-Viewmodel (MVVM) pattern. It enables developers to create scalable single-page web applications by incorporating common idioms and best practices into the framework. Ember.js 3.4 Ember.js 3.4 is an incremental, backward compatible release of Ember with bug fixes, performance improvements, and minor deprecations. Angle bracket invocation You can now use angle bracket invocation instead of the classic invocation syntax. For example: Instead of using the following syntax: Source: Ember You can use: Source: Ember This release does not deprecate the classic invocation syntax, but using angle bracket invocation will provide more syntax clarity. As component invocation is often encapsulating important pieces of UI, a dedicated syntax would help visually distinguish them from other handlebars constructs, such as control flow and dynamic values. Custom Component Manager This version comes with the new Custom Component Manager feature enabled by default. This allows addon authors to access a low-level API for creating component bases classes which addon users can re-use and extend components from. Deprecations Use closure actions instead of sendAction When using sendAction, the developer passes the name of an action. When sendAction is called, Ember.js would look up that action in the parent context and invoke if it exists. This poses a few problems, such as: The action is looked up only when it is about to be invoked. This makes it easier for a typo in the action’s name to go undetected. When you use sendAction you cannot receive the return value of the invoked action. Closure actions solve these problems and are also more intuitive to use. Ember 2 Legacy This is the last version that will work with the polyfill addon for features that were deprecated in 2.x. If you have been using ember-2-legacy, it's time to upgrade. Ember Data 3.4 Ember Data is the data-persistence library that provides many of the facilities of an object-relational mapping (ORM). Ember Data 3.4 is the first Ember Data LTS release. This release has received a ton of bug fixes to address many known issues that have been reported over the last several months. Some of them are listed here: TrackableRequests for when async leakage is detected. This feature enables app developers to better use async... await while simultaneously detecting asynchronous test leaks in their data layer. External partner testing is now enabled to run the tests of external apps and addons against commits in ember-data. Transpilation issues with @ember/ordered-set are fixed. Tests are added for createRecord+unloadRecord. ember-inflector is upgraded to v3.3.0. Added module-unification adapter and adapter-test blueprints. Ember CLI 3.4 Ember CLI is the command line interface to create, develop, and build Ember.js applications. Ember CLI 3.4 is an LTS release candidate. It will receive critical bug fixes for the upcoming 6 release cycles, as well as security patches for the next 10 release cycles. Added support for Node 10 Support has been added for Node 10 and support for Node 4 has been dropped from Ember CLI's support matrix. When upgrading to Ember CLI 3.4, make sure to use it together with Node 6 and above. Template linting Automatic template linting is added to your application via ember-template-lint according to the recommended list of rules. Ember CLI will generate a TemplateLint test file for each of your templates to your test suite automatically to be run via ember test. To run the linter you can also use the new command npm run lint:hbs or yarn run lint:hbs respectively. Read the full list of changes on Ember’s official website and also check out its GitHub repository. Ember project releases v3.2.0 of Ember.js, Ember Data, and Ember CLI Getting started with Ember.js – Part 1 Getting started with Ember.js – Part 2
Read more
  • 0
  • 0
  • 11588

article-image-tor-browser-8-0-powered-by-firefox-60-esr-released
Melisha Dsouza
07 Sep 2018
3 min read
Save for later

Tor Browser 8.0 powered by Firefox 60 ESR released

Melisha Dsouza
07 Sep 2018
3 min read
The Tor Project team has released Tor Browser 8.0 today. The update comes with an upgraded language page, new onboarding experience for new users, additional language support and optimized bridge fetching technique. The Tor Browser, based on Mozilla's Extended Support Release version of the Firefox web browser, helps users anonymize their Internet connection. The browser is famous for bundling data into encrypted packets before passing them through the network, thus keeping user’s identity at bay. This new version powered by Firefox 60 ESR (Extended Support Release) is a level up from the previous Firefox 52 ESR. 3 major upgrades in Tor Browser 8.0 #1 A New Onboarding Experience It is now really easy for new users to understand what the Tor browser is and how to use it.  The welcome tour provides users with all the information needed to get started with the Tor browser. The ‘About’ section of the browser takes viewers through aspects that make Tor different than other commonly available browsers. Users are also taken through privacy and security settings to ensure that they have a smooth experience using the browser. Source: ghacks.net #2 Optimized Bridge Configuration Flow Bridge Fetching, has been optimized in the new version. In the previous versions, users had to send an email or visit a website to request new bridges for locations where Tor browser is blocked because of censorship related issues. With the Tor 8.0, users have to only  solve a captcha in Tor launcher toto request new bridges from within the browser directly. All that has to be done is- Activate the Tor button in the browser interface and select Tor Network Settings. Enable the "Tor is censored in my country" checkbox on the page that opens. Select "Request a bridge from torproject.org". Solve the captcha displayed. Source:ghacks.net #3 Improved Language Support Previous versions of Tor supported fewer languages, which meant that users were unable to use the browser in their native language. The Tor Browser 8.0 has introduced the support for nine languages - Catalan, Irish, Indonesian, Icelandic, Norwegian, Danish, Hebrew, Swedish, and Traditional Chinese. The browser has added Component and library upgrades to new versions while Blocking navigator.mozAddonManager so that websites can't see it. You can read the full release announcement for more information on the upgrades introduced in Tor 8.0. Ubuntu free Linux Mint Project, LMDE 3 ‘Cindy’ Cinnamon, released Baidu releases EZDL – a platform that lets you build AI and machine learning models without any coding knowledge Splinter 0.9.0, the popular web app testing tool, released!  
Read more
  • 0
  • 0
  • 11365

article-image-firefox-63-0-is-released-for-desktop-and-android-aiming-to-give-users-greater-control-over-technology-that-can-track-them-on-the-web
Richard Gall
23 Oct 2018
2 min read
Save for later

Firefox 63.0 is released for desktop and Android, aiming to give users "greater control over technology that can track them on the web"

Richard Gall
23 Oct 2018
2 min read
Mozilla has today released Firefox 63.0 for desktop and Android, just over a month since the release of Firefox 62.0. The release brings a range of changes. Some of these are cosmetic, some improve the user experience, while others should improve life for developers. There is no update for iOS, however - version 12.0 was released in June. What's new in Firefox 63.0 for desktop? According to the release notes, the update should have significant performance gains by moving the build infrastructure on Windows to the Clang toolchain. There's also been a small change, as the Firefox theme is now the same as the Windows 10 OS Dark and Light modes. For Mac users, Firefox should be a little faster. One of the reasons for this is that WebGL power preferences allow applications to request lower power GPUs in multi-GPU systems. This essentially means that the browser should be using resources in a much more efficient manner. Interestingly, Firefox also now has content blocking features for Mac users that will "offer users greater control over technology that can track them around the web." This feature will allow users to decide when to block tracking technologies and when to allow it. Read next: Is Mozilla the most progressive tech organization on the planet right now? For developers, meanwhile, Firefox has not only had a small facelift. The team have also decided to enable the accessibility inspector by default. This indicates how assistive technologies are becoming more and more important for web users. It also highlights that web accessibility is now a problem to be tackled head on - not ignored. What's new in Firefox 63.0 for Android? For Android users, Firefox has added support for picture-in-picture video and now uses notification channels. Read more about the new features and fixes on the Mozilla website.
Read more
  • 0
  • 0
  • 11362

article-image-chrome-73-comes-with-pwas-on-mac-signed-http-exchanges-and-constructable-style-sheets
Sugandha Lahoti
14 Mar 2019
3 min read
Save for later

Chrome 73 comes with PWAs on Mac, signed HTTP exchanges, and constructable style sheets

Sugandha Lahoti
14 Mar 2019
3 min read
Yesterday, Google released version 73 of its popular web browser. Chrome 73 comes with support for PWAs for MacOS, signed HTTP exchanges for creating portable content, and constructable style sheets. DuckDuckGo now a default search engine Interestingly, Chrome 73 comes with a feature to change its default search engine to a to DuckDuckGo which is a more privacy-friendly option. Google acknowledges that it updated the available search engines based on "new usage statistics" from "recently collected data." DuckDuckGo is the preferred search option in more than 60 markets including the United States and the United Kingdom. Mac OS related updates Chrome 73 adds support for bringing Progressive Web Apps to Mac OS bringing PWAs to all desktop platforms - Mac, Windows, Chrome OS and Linux. Chrome 73 also includes the long-awaited dark mode for macOS. Dark mode was first announced for Chrome last month, but yesterday’s release has made it official. Signed HTTP Exchanges Chrome 73 comes with Signed HTTP Exchanges (SGX) which makes it “possible to create “portable” content that can be delivered by other parties, and this is the key aspect, it retains the integrity and attribution of the original site.” SGX is a part of Web Packages. Signed HTTP exchanges enables faster content delivery for users, making it possible to get the benefits of a CDN without having to cede control of your certificate’s private key. Check out Kinuko’s Signed HTTP Exchanges post for details on how to get started. Constructable style sheets Chrome 73 users can now create and distribute reusable styles using Constructable Stylesheets. Constructable Stylesheets make it possible to define and prepare shared CSS styles, and then apply those styles to multiple Shadow Roots or the Document easily and without duplication. To get started, you can create a new instance of CSSStyleSheet, then use either replace or replaceSync to update the stylesheet rules. Other updates There is a new regular expression called matchAll(). It is a matching method on the string prototype, and returns an array containing the complete matches. The <link> element now supports imagesrcset and imagesizes properties to correspond to srcsetand sizes attributes of HTMLImageElement. Blink's shadow blur radius implementation, now matches Firefox and Safari. These are just a select few updates. For more details, visit the Google’s developer blog. Chrome announces KV Storage, the first built-in module for Web You can now publish PWAs in the Google Play Store as Chrome 72 for Android ships with Trust Web Activity feature. Google releases a fix for the zero day vulnerability in its Chrome browser while it was under active attack.
Read more
  • 0
  • 0
  • 11108
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-exploring%e2%80%afforms-in-angular-types-benefits-and-differences%e2%80%af%e2%80%af%e2%80%af-%e2%80%af
Expert Network
21 Jul 2021
11 min read
Save for later

Exploring Forms in Angular – types, benefits and differences     

Expert Network
21 Jul 2021
11 min read
While developing a web application, or setting dynamic pages and meta tags we need to deal with multiple input elements and value types, such limitations could seriously hinder our work – in terms of either data flow control, data validation, or user experience.    This article is an excerpt from the book, ASP.NET Core 5 and Angular, Fourth Edition by Valerio De Sanctis – A revised edition of a bestseller that includes coverage of the Angular routing module, expanded discussion on the Angular CLI, and detailed instructions for deploying apps on Azure, as well as both Windows and Linux.   Sure, we could easily work around most of the issues by implementing some custom methods within our form-based components; we could throw some errors such as isValid(), isNumber(), and so on here and there, and then hook them up to our template syntax and show/hide the validation messages with the help of structural directives such as *ngIf, *ngFor, and the like. However, it would be a horrible way to address our problem; we didn't choose a feature-rich client-side framework such as Angular to work that way.   Luckily enough, we have no reason to do that since Angular provides us with a couple of alternative strategies to deal with these common form-related scenarios:   Template-Driven Forms   Model-Driven Forms, also known as Reactive Forms   Both are highly coupled with the framework and thus extremely viable; they both belong to the @angular/forms library and share a common set of form control classes. However, they also have their own specific sets of features, along with their pros and cons, which could ultimately lead to us choosing one of them.   Let's try to quickly summarize these differences.   Template-Driven Forms   If you've come from AngularJS, there's a high chance that the Template-Driven approach will ring a bell or two. As the name implies, Template-Driven Forms host most of the logic in the template code; working with a Template-Driven Form means:   Building the form in the .html template file   Binding data to the various input fields using ngModel instance   Using a dedicated ngForm object related to the whole form and containing all the inputs, with each being accessible through their name.   These things need to be done to perform the required validity checks. To understand this, here's what a Template-Driven Form looks like:   <form novalidate autocomplete="off" #form="ngForm" (ngSubmit)="onSubmit(form)">  <input type="text" name="name" value="" required   placeholder="Insert the city name..."    [(ngModel)]="city.Name" #title="ngModel"   />  <span *ngIf="(name.touched || name.dirty) &&       name.errors?.required">           Name is a required field: please enter a valid city name.   </span>   <button type="submit" name="btnSubmit"          [disabled]="form.invalid">         Submit   </button>   </form>     Here, we can access any element, including the form itself, with some convenient aliases – the attributes with the # sign – and check for their current states to create our own validation workflow.   These states are provided by the framework and will change in real-time, depending on various things: touched, for example, becomes True when the control has been visited at least once; dirty, which is the opposite of pristine, means that the control value has changed, and so on. We used both touched and dirty in the preceding example because we want our validation message to only be shown if the user moves their focus to the <input name="name"> and then goes away, leaving it blank by either deleting its value or not setting it.   These are Template-Driven Forms in a nutshell; now that we've had an overall look at them, let's try to summarize the pros and cons of this approach. Here are the main advantages of Template-Driven Forms: Template-Driven Forms are very easy to write. We can recycle most of our HTML knowledge (assuming that we have any). On top of that, if we come from AngularJS, we already know how well we can make them work once we've mastered the technique.   They are rather easy to read and understand, at least from an HTML point of view; we have a plain, understandable HTML structure containing all the input fields and validators, one after another. Each element will have a name, a two-way binding with the underlying ngModel, and (possibly) Template-Driven logic built upon aliases that have been hooked to other elements that we can also see, or to the form itself.   Here are their weaknesses:   Template-Driven Forms require a lot of HTML code, which can be rather difficult to maintain and is generally more error-prone than pure TypeScript.   For the same reason, these forms cannot be unit tested. We have no way to test their validators or to ensure that the logic we implemented will work, other than running an end-to-end test with our browser, which is hardly ideal for complex forms.   Their readability will quickly drop as we add more and more validators and input tags. Keeping all their logic within the template might be fine for small forms, but it does not scale well when dealing with complex data items. Ultimately, we can say that Template-Driven Forms might be the way to go when we need to build small forms with simple data validation rules, where we can benefit more from their simplicity. On top of that, they are quite like the typical HTML code we're already used to (assuming that we do have a plain HTML development background); we just need to learn how to decorate the standard <form> and <input> elements with aliases and throw in some validators handled by structural directives such as the ones we've already seen, and we'll be set in (almost) no time.   For additional information on Template-Driven Forms, we highly recommend that you read the official Angular documentation at: https://angular.io/guide/forms   That being said; the lack of unit testing, the HTML code bloat that they will eventually produce, and the scaling difficulties will eventually lead us toward an alternative approach for any non-trivial form. Model-Driven/Reactive Forms   The Model-Driven approach was specifically added in Angular 2+ to address the known limitations of Template-Driven Forms. The forms that are implemented with this alternative method are known as Model-Driven Forms or Reactive Forms, which are the exact same thing.   The main difference here is that (almost) nothing happens in the template, which acts as a mere reference to a more complex TypeScript object that gets defined, instantiated, and configured programmatically within the component class: the form model.   To understand the overall concept, let's try to rewrite the previous form in a Model-Driven/Reactive way (the relevant parts are highlighted). The outcome of doing this is as follows:  <form [formGroup]="form" (ngSubmit)="onSubmit()">  <input formControlName="name" required />   <span *ngIf="(form.get('name').touched || form.get('name').dirty)            && form.get('name').errors?.required">           Name is a required field: please enter a valid city name.   </span>  <button type="submit" name="btnSubmit"           [disabled]="form.invalid">  Submit  </button>     </form>  As we can see, the amount of required code is much lower.  Here's the underlying form model that we will define in the component class file (the relevant parts are highlighted in the following code):   import { FormGroup, FormControl } from '@angular/forms';   class ModelFormComponent implements OnInit {   form: FormGroup;         ngOnInit() {       this.form = new FormGroup({          title: new FormControl()       });     }   }   Let's try to understand what's happening here:   The form property is an instance of FormGroup and represents the form itself.   FormGroup, as the name suggests, is a container of form controls sharing the same purpose. As we can see, the form itself acts as a FormGroup, which means that we can nest FormGroup objects inside other FormGroup objects (we didn't do that in our sample, though).   Each data input element in the form template – in the preceding code, name – is represented by an instance of FormControl.   Each FormControl instance encapsulates the related control's current state, such as valid, invalid, touched, and dirty, including its actual value.   Each FormGroup instance encapsulates the state of each child control, meaning that it will only be valid if/when all its children are also valid.   Also, note that we have no way of accessing the FormControls directly like we were doing in Template-Driven Forms; we have to retrieve them using the .get() method of the main FormGroup, which is the form itself.   At first glance, the Model-Driven template doesn't seem too different from the Template-Driven one; we still have a <form> element, an <input> element hooked to a <span> validator, and a submit button; on top of that, checking the state of the input elements takes a bigger amount of source code since they have no aliases we can use. What's the real deal, then?  To help us visualize the difference, let's look at the following diagrams: here's a schema depicting how Template-Driven Forms work:   [caption id="attachment_72453" align="alignnone" width="690"] Fig 1: Template-Driven Forms schematic[/caption] By looking at the arrows, we can easily see that, in Template-Driven Forms, everything happens in the template; the HTML form elements are directly bound to the DataModel component represented by a property filled with an asynchronous HTML request to the Web Server, much like we did with our cities and country table.   That DataModel will be updated as soon as the user changes something, that is, unless a validator prevents them from doing that. If we think about it, we can easily understand how there isn't a single part of the whole workflow that happens to be under our control; Angular handles everything by itself using the information in the data bindings defined within our template.   This is what Template-Driven actually means: the template is calling the shots.  Now, let's take a look at the Model-Driven Forms (or Reactive Forms) approach:   [caption id="attachment_72454" align="alignnone" width="676"] Fig 2: Model-Driven/Reactive Forms schematic[/caption] As we can see, the arrows depicting the Model-Driven Forms workflow tell a whole different story. They show how the data flows between the DataModel component – which we get from the Web Server – and a UI-oriented form model that retains the states and the values of the HTML form (and its children input elements) that are presented to the user. This means that we'll be able to get in-between the data and the form control objects and perform a number of tasks firsthand: push and pull data, detect and react to user changes, implement our own validation logic, perform unit tests, and so on.  Instead of being superseded by a template that's not under our control, we can track and influence the workflow programmatically, since the form model that calls the shots is also a TypeScript class; that's what Model-Driven Forms are about. This also explains why they are also called Reactive Forms – an explicit reference to the Reactive programming style that favors explicit data handling and change management throughout the workflow.   Summary    In this article, we focused on the Angular framework and the two form design models it offers: the Template-Driven approach, mostly inherited from AngularJS, and the Model-Driven or Reactive alternative. We took some valuable time to analyze the pros and cons provided by both, and then we made a detailed comparison of the underlying logic and workflow. At the end of the day, we chose the Reactive way, as it gives the developer more control and enforces a more consistent separation of duties between the Data Model and the Form Model.   About the author   Valerio De Sanctis is a skilled IT professional with 20 years of experience in lead programming, web-based development, and project management using ASP.NET, PHP, Java, and JavaScript-based frameworks. He held senior positions at a range of financial and insurance companies, most recently serving as Chief Technology and Security Officer at a leading IT service provider for top-tier insurance groups. He is an active member of the Stack Exchange Network, providing advice and tips on the Stack Overflow, ServerFault, and SuperUser communities; he is also a Microsoft Most Valuable Professional (MVP) for Developer Technologies. He's the founder and owner of Ryadel and the author of many best-selling books on back-end and front-end web development.      
Read more
  • 0
  • 0
  • 10885

article-image-brave-0-55-ad-blocking-browser-with-22-faster-load-time-and-is-generally-available-and-works-on-chromium
Savia Lobo
19 Oct 2018
2 min read
Save for later

Brave 0.55, ad-blocking browser with 22% faster load time and is generally available and works on Chromium

Savia Lobo
19 Oct 2018
2 min read
On 18th October Brave Software, announced the general availability of their latest browser- Brave 0.55. The ad-blocking Brave browser is redesigned to work on Chromium and is available for Windows, macOS, and Linux. Brave 0.55x was originally released to developers and early adopters on September 6th, and then as an initial beta for a larger base on September 27th. This Chromium-based desktop version replaces the previous Muon-based browser which is no longer available for download on the Brave site. Users who browse with Muon (latest version is 0.25.2) will continue to receive necessary updates until they are fully upgraded to this new release in the near future. The upgrade comes with significant performance boost as confirmed by a test conducted by Andrius Aucinas, a performance researcher at Brave, and Dr. Ben Livshits, Brave’s Chief Scientist. The test measured how quickly the browser loads the pages and how much resources it uses- specifically focusing on CPU usage. The test proves that the Brave browser has a 22% faster load time, which means 8-second faster page loading times on major sites. The other important upgrade was to the Bat Attention token (BAT) reward system, making it more intuitive. The team has introduced ‘Brave Rewards (beta)’ that will replace Brave Payments granting more usability, visibility, and new features. The release also includes multiple updates from the September 27th beta version: Better Interface including Tab shape and color changes, URL bar centered changes Several Tor-related privacy enhancements which include disabling features that can leak information like the IP address A private search engine can now be set separately PDF files can now load file:// URLs Removing links to unused sign-ins to Google Localization updates Multiple web compatibility fixes Various crash fixes To know more about this release, head over to Brave.com. You can find the entire release schedule on Github. Dejavu 2.0, the open source browser by ElasticSearch, now lets you build search UIs visually Opera Touch browser lets you browse with one hand on your iPhone, comes with e2e encryption and built-in ad blockers too! Vivaldi 2.0, a hyper-customizable browser, releases with Vivaldi Sync, Resizable Tab Tiling, and more!
Read more
  • 0
  • 0
  • 10825

article-image-vivaldi-2-0-releases-with-vivaldi-sync-resizable-tab-tiling-and-more
Bhagyashree R
27 Sep 2018
4 min read
Save for later

Vivaldi 2.0, a hyper-customizable browser, releases with Vivaldi Sync, Resizable Tab Tiling, and more!

Bhagyashree R
27 Sep 2018
4 min read
Yesterday, Vivaldi 2.0 was released with over 1,500 improvements, which includes features like Vivaldi Sync, Resizable Tab Tiling, and Floating Web Panels, among others. Vivaldi is a cross-platform web browser, which provides users many customization options to take control of what and how they browse the web. Sync your data with Vivaldi Sync Vivaldi Sync, as the name suggests, allows you to sync your data across computers using your Vivaldi account. You can choose what you want to sync, including your bookmarks, Speed Dials, saved password, history, extensions, and notes. To activate Vivaldi Sync go to the Settings menu or just click the cloud icon in the browser's status bar. Tab management got better Vivaldi comes with several unique features such as Tab Stacks and Quick Commands, to help you better manage your tabs. Vivaldi 2.0 provides features like Resizable Tab Tiling and a list style view to the Tab Cycler to make tab management a lot easier than before. Resizable Tab Tiling allows you to resize the tiles when viewing tabs in tile view. Also, the adjusted layout remains the same after restarts and loading of saved sessions. This version also comes with a list-style view to the Tab Cycler, which makes viewing and finding the tabs easier. Smarter browsing with Web Panels Web Panels allow you to simultaneously browse your favourite sites alongside the tabs in your main window. In Vivaldi 2.0 they have made checking messaging apps, social feeds, and news sites much easier with the addition of the following: Floating Web Panels: Instead of resizing the main window you can now use the floating web panels over the page. This feature can be activated through Tools | Settings | Panel | Panel Options. Web Panel Suggestions: When adding a new Web Panel you will see suggestions based on the sites that you regularly visit. More built-in tools You get more built-in tools to improve your productivity in the browser: Notes: With Notes you can annotate websites and add a description or screenshots to the notes while surfing the web. Capture: This tool allows you to capture either a full page screenshot or a selection of the screen that you define. Image Properties: You can view all the information you need about an image right in the browser and also copy it to the clipboard. History: It provides you a detailed overview of your browsing habits backed by statistics and makes it easier to find previously visited sites. Effortless navigation You can interact with the browser in various ways and get your job done faster: Keyboard Shortcuts: You can do almost everything you do on a computer in Vivaldi by setting keyboard shortcuts, such as creating windows, tabs, and Notes. Mouse Gestures: Speed up navigation and perform useful actions with quick movements of the mouse. You can also edit existing gestures and add your own to match your browsing style. Searching with assigned nicknames: Using Search Engine Nicknames, you can quickly switch between one search engine to another just by typing the nickname at the front of your search term. Speed Dials: Quickly access your favorite websites from the start page using the Speed Dials feature. You can customize your Speed Dials and folders to organize your content. Improved privacy with DuckDuckGo and Qwant To improve data privacy and protection, the browser is now integrated with DuckDuckGo as their default Private Search. Also, Qwant is added to the list of suggested search engines. To know more about the updates in Vivaldi 2.0 check out their official announcement. Firefox Reality 1.0, a browser for mixed reality, is now available on Viveport, Oculus, and Daydream Unity Benchmark report approves WebAssembly load times and performance in popular web browsers Tor Browser 8.0 powered by Firefox 60 ESR released
Read more
  • 0
  • 0
  • 10489

article-image-google-chromes-10th-birthday-brings-in-a-new-chrome-69
Savia Lobo
06 Sep 2018
4 min read
Save for later

Google Chrome's 10th birthday brings in a new Chrome 69

Savia Lobo
06 Sep 2018
4 min read
On 2nd September 2018 Google Chrome celebrated its 10th birthday. Google dressed up Chrome with a new look by launching Chrome 69. However, due to the long Labor Day weekend in the U.S. this year, it posted and updated about Chrome’s new look a few days later on 4th September 2018. With more than 1 billion active users, Google Chrome has become the most-used and the most-loved platform for normal users as well as web developers. With Chrome’s new version releases that take place every six weeks, developers can stay on top of everything available, as well as all the features that have been deprecated or removed. The release also includes powerful graphics, a more powerful Omnibox, an updated password manager, improvised autofill, and a lot of developer-specific and security improvements. What’s new in Chrome 69? A brand new UI for a seamless experience Chrome’s 69’s look can now be seen across all platforms (desktop, Android, and iOS). Users will see more rounded shapes, new icons, and a new color palette. For desktop, Google also changed the shape of its tabs making the web icons easily visible, thus resulting in an easier navigation across tabs. For mobile, Chrome 69 includes a number of changes for faster browsing. On iOS, the toolbar is moved to the bottom for an easy access. Across Chrome, Google has simplified the prompts, menus, and even the URLs in the user’s address bar. A lightning fast experience A lot of online activities such as booking travel tickets and appointments, shopping, and working through the to-do lists across multiple sites at once have been one of the features of Chrome. Following this, Google wants to make this experience a lot easier and safe in its new and updated Chrome 69. Now, Chrome can more accurately fill in user passwords, addresses, and credit card numbers, for an easy checkout through online forms. All this information is saved on user’s Google account, and can also be accessed directly from the Chrome toolbar. Staying secure on the web means using strong and unique passwords for every different site. When it’s time to create a new password, Chrome will now generate one for the user. No more using pet names or birth dates, that can easily be cracked. Chrome will save the password, and next time the user signs in, it’ll be there, on both the laptop and phone. Chrome 69 now with a smarter search bar The Omnibox, which is placed on top of chrome, combines both the search bar and address bar into one. In this new Chrome version, Google has made Omnibox much faster, and much smarter. The Omnibox will now show the answers directly in the address bar without having to open a new tab—from rich results on public figures or sporting events, to instant answers like the local weather via weather.com or a translation of a foreign word. The plus point of this Omnibox is if two dozen tabs open across three browser windows: Users can search for a website in the Omnibox and Chrome will tell if it’s already open and allows the user to jump straight to it with “Switch to tab.” Also, the users will also be able to search files from their Google Drive directly in their Omnibox too. A personalized Chrome for everyone! This new version can now be easily personalized as per user convenience. Users can now create and manage shortcuts to their favorite websites directly from the new tab page. All they have to do is, simply open a new tab and ‘Add shortcut’. They can also customize the background of a newly-opened tab with their favorite photograph. Other plans by Google, for Chrome Google has launched several other features for user privacy and safety including: an ad blocker to keep users safe from malicious and annoying ads. Moved the web to HTTPS to keep you secure online. Launched site isolation which provides deeper defense against many types of attacks including Spectre, and brought VR and AR browsing to Chrome. Google further plans to roll out a set of new experiments to improve Chrome’s startup time, latency, usage of memory, and usability. A new CSS features to improve performance tracking ability has been rolled out just for Chrome’s developer community. Here’s a short video explaining all the new features in the new Chrome 69. https://youtu.be/WF2IjH35w8o Chromebots: Increasing Accessibility for New Makers Google announces Chrome 67 packed with powerful APIs, password-free logins, PWA support, and more
Read more
  • 0
  • 0
  • 10428
article-image-someone-created-a-div-that-looks-different-on-every-browser
Richard Gall
10 Jul 2018
2 min read
Save for later

Someone created a div that looks different on every browser

Richard Gall
10 Jul 2018
2 min read
Here's a weird CSS anomaly that you might have missed - Martijn Cuppens, a software engineer, has created a div that looks different on every browser. Cuppens shared his creation on CodePen - you can see the code for yourself here. Here's what they look like on different browsers: https://twitter.com/Martijn_Cuppens/status/1015169981368225793 Note: If you're looking on an iPhone the differences won't appear as all browsers on the iPhone are essentially the same - app store restrictions mean they use the same rendering engine. According to Cuppens, the most 'correct' version is Edge. He explains that he came across the discovery by saying that he "wanted to know if there is a way to inset outlines... turned out 'inset' was a outline-style and a negative outline-offset can be used to inset outlines." https://twitter.com/Martijn_Cuppens/status/1015579527379070976 What Cuppens experiment shows is how widely browsers can vary in their interpretation of CSS. On Twitter, users responded with their own versions, like this: https://twitter.com/frivoal/status/1015533567839911936 Others, meanwhile, were happy to offer droll responses to the challenges and occasional woes of working with CSS... https://twitter.com/kingreza/status/1015360236230606848 Read next Google announces Chrome 67 packed with powerful APIs, password-free logins, PWA support, and more Firefox 60 arrives with exciting updates for web developers: Quantum CSS engine, new Web APIs and more
Read more
  • 0
  • 0
  • 10261

article-image-chrome-v8-7-0-is-in-beta-to-release-with-chrome-70
Prasad Ramesh
16 Oct 2018
2 min read
Save for later

Chrome V8 7.0 is in beta, to release with Chrome 70

Prasad Ramesh
16 Oct 2018
2 min read
Chrome v8 7.0 is in beta and has added features like embedded built-ins and JavaScript language features. It will be in beta and will release with Chrome 70 Stable. A new branch of v8 is created every six weeks. Just before a Chrome Beta milestone release, each version is branched from the V8 master on GitHub. V8 7.0 was announced yesterday, and is filled with features to enhance the experience of developers. v8 7.0 brings embedded built-ins in Embedded builtins share the generated code across multiple V8 Isolates to save memory. Beginning from V8 v6.9 embedded built-ins are enabled on x64. With the exception of ia32, v8 7.0 brings memory savings to all other platforms. WebAssembly Threads preview WebAssembly enables code compilation of C++ other languages to run on the web. A very useful feature of native applications is the ability to use threads. It is a primitive for parallel computation. pthreads, a standard API for application thread management, is familiar to most C and C++ developers. The WebAssembly Community Group has been working to bring threads to the web in order to enable real multi-threaded applications. V8 has implemented required support for threads in the WebAssembly engine as part of this effort. To use this in Chrome, enable it via chrome://flags/#enable-webassembly-threads, or sign up for an Origin Trial. With Origin Trials developers can experiment with new web features before they are standardized. This also helps the creators gather real-world feedback critical to validate and improve new features. JavaScript features in V8 A description property will be added to Symbol.prototype to provide an ergonomic way of accessing Symbol description. Before this change, the description could be accessed only indirectly through Symbol.protoype.toString(). Array.prototype.sort is now stable in V8 v7.0. V8 used an unstable QuickSort for arrays with more than 10 elements. Now, the stable TimSort algorithm is in use. For more details, visit the v8 Blog. Google announces updates to Chrome DevTools in Chrome 71 Chrome 69 privacy issues: automatic sign-ins and retained cookies; Chrome 70 to correct these Origin DApp: A decentralized marketplace on Ethereum mainnet aims to disrupt gig economy platforms like Airbnb and Uber
Read more
  • 0
  • 0
  • 10207

article-image-mozilla-introduces-new-firefox-test-pilot-experiments-price-wise-and-email-tabs
Amrata Joshi
13 Nov 2018
2 min read
Save for later

Mozilla introduces new Firefox Test Pilot experiments: Price Wise and Email tabs

Amrata Joshi
13 Nov 2018
2 min read
Test Pilot is an important part of Mozilla Firefox, and allows Mozilla to test out new features and tools that aim to improve the experience of Firefox users. Yesterday, the organization launched two new Test Pilot projects: Price Wise and Email Tabs. Price Wise allows users to track the price of items online, while Email Tabs makes it easier for people to share links via email. How Price Wise worksEssentially, Price Wise is a price-tracking tool. It allows users to add certain products to a watch list; Price Wise will send notifications when there are changes in price. The extension only works for eBay, Best Buy, Amazon, Walmart, and Home Depot, but there are apparently plans to extend its usage to other retailers and eCommerce sites. As holiday season is approaching, it makes sense for Mozilla to push it out to users. You can try it out here. How Email Tabs works Email Tabs is a tool which helps users to send links via email. Typically, you’d need to copy and paste links into your email, but with Email Tabs, you can share from a whole list of tabs. But that’s not all. Users can also choose how the content should be presented in the email. So, it could be a simple link, a screenshot, or even the full text. At the moment this only works with Gmail, but like Price Wise, Mozilla is looking to extend the roll out. You can try Email Tabs here. Both experiments are available for anybody who is signed up to the Test Pilot program. https://youtu.be/UpRLjTQmkW4 Mozilla previews Send, Color and Side View Mozilla also previewed other experiments that are due for release this year. Send allows you to encrypt and share large files up to 1GB, Color, allows users to customize the look of Firefox, while Side View makes comparison shopping easier, as one can look at two products without having to switch back and forth between two separate web pages. To learn more, visit the Firefox website of Firefox. Mozilla shares how AV1, the new the open source royalty-free video codec, works Mozilla announces WebRender, the experimental renderer for Servo, is now in beta Mozilla funds winners of the 2018 Creative Media Awards for highlighting unintended consequences of AI in society
Read more
  • 0
  • 0
  • 10062
article-image-top-reasons-to-use-google-lighthouse-3-0
Amarabha Banerjee
12 Jun 2018
3 min read
Save for later

Top reasons to use Google Lighthouse 3.0

Amarabha Banerjee
12 Jun 2018
3 min read
If you create web applications as a profession then you would be definitely needing an auditing tool to check what works and what doesn’t in your app. Google Lighthouse is one such tool. It saves a lot of time for you to assess your website’s performance and make it better. You can simply put any URL into Google Lighthouse, (with proper permissions of course) and it will audit it for performance issues and will create a separate report for each issue with ways to rectify it. You can use Lighthouse from the chrome dev tools or you can use it with npn tools as well. Google has announced the release of Lighthouse version 3 in the latest Google I/O conference. The new features of Lighthouse are mentioned below: Lighthouse 3 comes equipped with a new audit engine called Lantern. This helps in improved audits and also minimizes the variance between different audits. The reason for improved audits is that Lantern runs the audits in the same CPU and network environments and simulates the app performance in a regular environment. Lighthouse comes now with a new and improved UI that helps developers to better understand the issues related to their apps and take actionable insights from it. Image Courtesy: Google Uniformity of operation: Both the CLI based version as well as the Node.js version have the same set of controls so that it’s easier to use and less confusing for different sets of developers. Lighthouse has changed their scoring model which now considers 50 out of 100 score as 75 percentile. They have made it systematically harder to achieve the perfect score making the testing and auditing process much more stringent. 4 new audit types have been introduced. The first shows the time to load the first image or text, the second shows the validity of the robots.txt file. The third test shows ways to change videos to gifs and still preserve the video tag to improve the load time. The fourth test enables links to preload before the website loads. The final report is now distributed into three parts to facilitate the developer’s understanding of the scenario and improve the performance. These are the 1hr report which reports the results of the audit, the artifacts property report which includes the data collected from Chrome, and the final report includes the formatted report HTML/JSON/CSV as a string. Will these changes impact the way you develop your apps and make them fare better in the crowd? Feel free to share your thoughts in the comment section. Top 5 Google I/O 2018 conference Day 1 Highlights What can Google Duplex do for businesses? Google announces Chrome 67 packed with powerful APIs, password-free logins, PWA support, and more
Read more
  • 0
  • 0
  • 9259

article-image-preact-x-alpha-is-out-now-with-fragments-hooks-and-more
Bhagyashree R
06 Mar 2019
3 min read
Save for later

Preact X alpha is out now with Fragments, Hooks, and more!

Bhagyashree R
06 Mar 2019
3 min read
Yesterday, the team behind Preact, a fast and smaller alternative of React, announced that Preact X is now in alpha. Preact X is the next major release, which includes some of the in-demand features of React like Fragments, Hooks, componentDidCatch, and createContext. https://twitter.com/preactjs/status/1102726702860517376 Following are some of the updates Preact X alpha comes with: Support for fragments Preact X alpha supports fragments, which is the major feature in this release. Fragments allow you to group a list of children without adding extra nodes to the DOM. Developers can now return an array of children from a component’s render method, without having to wrap them in a DOM element. The componentDidCatch lifecycle method This release comes with the componentDidCatch lifecycle method for better error handling. To make a class component an error boundary, developers just need to define the componentDidCatch(error, info) method. This method was introduced in React 16 to prevent a single JavaScript error in the UI from breaking the whole app. This method works using a concept called error boundary. An error boundary is a component that is responsible for catching JavaScript errors in their child component tree. It also logs the error and displays a fallback UI instead of the component tree that crashed. Hooks Preact X alpha supports hooks, which are functions that allow you to “hook into” or use React state and other lifecycle features via function components. You can import hooks in Preact using preact/hooks. The createContext API The createContext API, as the name suggests, creates a Context object. If a component is rendered that subscribes to this Context object, it will read the current context value from the closest matching provider above it in the tree. The Preact team calls it a successor for getChildContext, which is fine when you are certain that the value will not change. The creatContext API is a true pub/sub solution that allows you to deliver updates deep down the tree. Devtools Adapter In order to support the recent updates in react-devtools extension, the team has rewritten Preact’s devtools adapter from scratch, which can now directly hook into the renderer.  This also makes feature development much straightforward for the team. Along with these excellent updates, this version also comes with a few breaking changes. The most noticeable one is that pros.children is not guaranteed to be an array anymore. This update is made to support rendering components that return an array of children without wrapping them in a root node. Check out Preact’s GitHub repo to read the entire list of updates in Preact X alpha. React Native 0.59 RC0 is now out with React Hooks, and more Getting started with React Hooks by building a counter with useState and useEffect React 16.8 releases with the stable implementation of Hooks
Read more
  • 0
  • 0
  • 9000
Modal Close icon
Modal Close icon