Web Browsers - Chrome vs. Edge vs. Safari vs. Firefox vs. Vivaldi
As the native applications get marginalized vis-a-vis W3C standards compliant web-centric Software Applications (e.g. Google Apps for Work), there has been significant shift in the Web Browser technology focus across the industry. The Web Browser engines are being embedded into consumer devices, such as: set-top-boxes, televisions, cloud readers, etc. nowadays. Software Developers are looking forward to create rich user experience in their Smart Applications that utilize Virtual Reality or Audio / Video capabilities targeting Digital Economy.
Besides a standard rendering of HTML 5 web pages or CSS 3 style sheets or JavaScript processing, inter-operability, compatibility, and support, what to you expect from Web Browser as a software developer or end-user? A few points of interest are listed below
- Data Compression and fast HTTP transmission (e.g. using SPDY protocol)
- Anonymous Communication (e.g. Cognito, Tor) for assuring user Privacy
- JIT compiler and execute over JavaScript Engine (e.g. V8) for interactivity
- Faster page Rendering Engine (e.g. WebKit)
- Storage subsystem (e.g. IndexedDB, Application Cache, WebSQL)
- Universal Search Integration using Text or Voice
- Peer-to-Peer Voice Calling or Video Chat (e.g. WebRTC, hookflash)
- Screen Sharing for the Web Conferencing
- Speech Processing for voice-enabled applications development
- Web based Virtual Reality or Gamepad API (e.g. rift, touch)
- Extensions / Plug-ins available through Application Stores
- Programmability of the Web Browser using APIs
- Policy enforcement and remote manageability by IT Administrators
The Google Chrome is based on Google's V8 JavaScript Engine, Blink (forked from WebKit) Rendering Engine, and developed using the C++ programming language for Chromium, Linux, Windows, Mac OS. The Web Developers can create extensions using DART. It offers speed advantage, manageability, good ecosystem for feature extensions and improve usability, but it consumes lot of memory resources, storage space, and power (i,e, unfavorable for battery).
- WebRTC & VP8 video supported, partial Object RTC will be availed soon
- WebVR is supported
- Chrome Remote Desktop Connection support using Chrome App
- Chrome Management Console to manage the Chrome device settings
The Microsoft Edge is an ECMA Script 6 compliant Web Browser based on Chakra JavaScript Engine and EdgeHTML Rendering Engine and designed for Microsoft Windows device. Though source code was inherited from legacy Internet Explorer, but it is significantly better in terms of performance, security, reliability, and code complexity. The Edge does not support Silverlight, ActiveX, DirectX, VBScript, Java, etc. However, the plug-ins for PDF Reader and Flash can be updated through Windows Update mechanism. The Edge is very secure, consumes less power, but it has lot of bugs, and lacks support for feature adding extensions to be more productive.
- Object RTC (e.g. enable plug-in free Skype) and H.264 video supported
- Cortana (i.e. voice assistant) integration
- WebVR is not supported
- Microsoft Intune to manage MDM policy settings for the Edge
The Apple Safari is an ECMA Script 6 compliant Web Browser based on Nitro JavaScript Engine, B3 JIT compiler, and WebKit Rendering Engine (forked from KHTML) designed to run on the Linux, Windows, Mac OS. It's main focus is on power usage and works 10% ~ 15% faster than Chrome on Apple devices. All 3rd party iOS Web Browsers are forced to use Safari's browsing engine anyway on the Apple devices.
- WebRTC support is under development
- Reading Mode to strip out unnecessary junk aside from the main text
- WebVR is not supported
The Mozilla Firefox is based on SpiderMonkey JavaScript Engine and Gecko Rendering Engine and available for Android, iOS, Linux, Windows, Mac OS. It is very secure, but slow. Firefox performs faster than Chrome on Android.
- WebRTC & WebAudio supported
- MozilaVR & Gamepad API is supported
The Vivaldi Web Browser is based on JavaScript, React user interface, Blink Rendering Engine, and node.js technology for the Windows, Linux or Mac OS. It's new in the market, but very user friendly.
Obviously, difference exists in terms of Web Browser capabilities. If you plan to develop applications that utilize the Audio / Video / Gaming / Virtual Reality capabilities or other device integrations (e.g. medical, scanner, metering), then incompatibilities pose a significant challenge for bridging. For example, Unified Communication adoption by a large Enterprise would require transcoding of the media as well as signaling for multiple platforms (e.g. Hangouts, WebEx, Skype, etc.). Likewise, some simple device capabilities, such as: vibration for alerting the end-user might not be exposed by all platform APIs. As the Digital Economy demands more Smart Applications to be developed using low-cost devices, the standardization of the Web Browser APIs and the supported profiles need to be defined soon for ease of integration.
Principal Consultant at Tech Mahindra
8 年Good information Shashi !!