Articles


WebDriverIO: Next-generation Automation Framework

WebDriverIO is an open-source next-generation automation framework, that allows us to automate modern web and mobile applications. It has an extended set of built-in and community plugins that help in designing robust, scalable tests and easily integrate with third-party applications including cloud services (BrowserStack, Applitools, Sauce Labs), Docker, Jenkins, Bamboo, GitHub, and many more.

It helps in designing automation tests for web applications and native mobile applications in just a few lines of code, making it very popular among developers and testers. It runs on WebDriver protocol to support cross-browser testing, and Chrome DevTools protocol to support Chromium-based automation. 

Source de l’article sur DZONE

We tend not to think about it, but the Internet has a physical dimension. It’s a complex network of wires, cables, servers, and technical odds and ends — if you really want to, you can track it down; doing so is particularly easy on small islands because there tends to be a single cable tethering the region to the wider world.

Those physical cables run all the way to your building, and although an ISP manages them, they are normally rented from public bodies as part of your national infrastructure.

Beyond the physical, international bodies govern protocols like ARP, IEEE, HTTP, NTP, FTP, and others, which control how data is transmitted through the network and keep everything playing nice.

Then, at the other end of the equation, there’s your device. It may be a phone, a tablet, a notebook, a desktop. It’s probably several of these. And because it’s your device, everything on it feels like yours. We tend to think of it as our method of accessing the Internet instead of being part of the Internet — in reality, it’s both.

On your device, the software you use to access the Internet is your browser. For 65% of people, that’s Chrome. Even if you’re reading this on Edge, it’s created with the Blink engine, an extension of Chromium, which is the basis for Chrome. In fact, almost every browser is built using a variation of Chromium, except those on Apple devices that require Apple’s own WebKit to be used instead.

Chromium is ostensibly open-source. WebKit is not, but both are geared towards their primary contributors’ business goals; neither Chromium nor WebKit will make a change that negatively impacts Alphabet or Apple.

Your browser is just a copy of a pre-compiled set of source files sat in a Git repo somewhere. You may have installed a few plugins in your browser. You may have bookmarked a few pages. You’ve probably moved it to your dock or your home screen. Those features are just nice add-ons for the GUI; what really matters is what decisions are made about how to render web technologies.

Imagine a world in which every single car used the same mid-range Ford engine. Add in a stereo, and paint it any color you like, you can even pick your own tires, but under the hood, it has to be that mid-range Ford engine. And the only justification is that it’s too much work to create an alternative.

The 2020s are going to be a time of enormous change. You can smell the panic in traditional banking sectors every time Cryptocurrency is mentioned. Real estate billionaires are desperately trying to get us back into offices we don’t want to return to. And yes, I’m sorry, but the climate crisis is looming, and it will force our hand. The values of a whole generation have been rapidly reassessed. Innovation and the potential for innovation are rife, except, ironically, on the Internet, where we’re still chugging away with the mid-range Ford engine under the hood.

The web has reached the point at which the browser engines we choose define real-world infrastructure. There’s a fork in the road: either browser engines are part of an infrastructure that should be rationalized into a single browser protocol, or alternative browser engines need to be nurtured, encouraged, and accessible by choice.

Featured image via Pexels.

Source

The post Poll: Is It Time to Merge Browser Engines Into a Browser Protocol? first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

This article was originally published at Coder Society, and we’ll explore GraphQL’s core features, how to interact with a GraphQL API, and some development and operational challenges.

The Story of GraphQL

Nowadays, REST seems to be the default approach for building APIs, typically based on the familiar HTTP protocol. While REST is relatively simple to work with and enjoys widespread popularity, its use of multiple endpoints to address resources sometimes gets in the way of flexibility.

Source de l’article sur DZONE

Le 11 août 2020, Microsoft a publié un avis de sécurité concernant la correction d’une vulnérabilité affectant le protocole Netlogon Remote Protocol.

Le CERT-FR a émis un avis le 12 août 2020 ainsi que des bulletins informant de la situation. Cette vulnérabilité, …
Source de l’article sur CERT-FR

Google resembles an iceberg: there’s the part above the water we can see and use everyday; there’s also the part beneath the water, that we don’t see and know little about.

While many of us are concerned about the aspects of Google we don’t see — the parts that threaten our privacy, or monopolize the web — there’s no denying that Google offers some amazing products and tools, many of them free, all from the convenience of a single login.

Today we’re going to take a look at 12 tools from Google that really do bring something positive to the table.

1. Polymer

Polymer is an open-source JavaScript library from Google for building web applications using Web Components. The platform comes with a ton of libraries and tools to help designers and developers unlock the web’s potential by taking advantage of features like HTTP/2, Web Components, and Service Workers. 

The main feature of Polymer is Web Components. With Web Components, you can share custom elements to any site, work seamlessly with any browser’s built-in elements, and effectively use frameworks of all kinds. Products like LitElement (a simple base class for creating fast, lightweight web components) and PWA Starter Kit make Polymer easy to use. If you like, you can build your app entirely out of Web Components.

2. Lighthouse

Google Lighthouse is an open-source, automated tool for improving the quality of web pages. The software allows you to audit web pages for performance, SEO, accessibility, and more. You can run Lighthouse using ChromeDevTools, directly from the command line, or as a Node module. 

To use Lighthouse in Google Chrome, just go to the URL you want to audit (you can audit any URL on the web), open ChromeDevTools, and click the Audits tab. After you have run the audit, Lighthouse will give you an in-depth report on the web page. 

With these reports, you will see which parts of your web page you need to optimize. Each report has a reference doc that explains why that audit is important and also shows you the steps you can take to fix it. 

You can also use Lighthouse CL to prevent regression on your sites. Using Lighthouse Viewer, you can view and share reports online. You can also share reports as JSON or GitHub Gists. 

Lighthouse also comes with a feature called Stack Packs that allows Lighthouse to detect what platform a site is built on. It also displays specific stack-based recommendations.

3. Google Analytics

Google Analytics is the gold standard of analytics services. Google analytics can be installed on your site for free with a small amount of JavaScript and allows you to see all kinds of details about your site visitors, like what browser they’re using, and where they’re from.

By using Google Analytics you can make decisions about your site based on science, and therefore be somewhat confident that the decisions you make will result in the outcome you are expecting.

4. Flutter

Flutter is Google’s UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase. The toolkit is open source and free to use. The best part of Flutter is that it works with existing code. 

The toolkit has a layered architecture that allows for full customization, which results in fast rendering and flexible designs. It also comes with fully-customizable widgets that allow you to build native interfaces in minutes. With these widgets, you will be able to add platform features such as scrolling, navigation, icons, and fonts to provide a full native performance on both iOS and Android.

Flutter also has a feature called hot reload that allows you to easily build UIs, add new features, and fix bugs faster. You can also compile Flutter code to native ARM machine code using Dart native compilers. 

5. Google API Explorer

Google has a huge library of APIs that are available to developers but finding these APIs can be difficult. Google API Explorer makes it easy for developers to locate any API. On the Google API Explorer web page, you will see a complete list of the entire API library. You can easily scroll through the list or use the search box to filter through the API list. 

The best part of Google API Explorer is that each link to a reference page comes with more details on how to use the API. API Explorer is an excellent way to try out methods in the Monitoring API without having to write any code.

6. Puppeteer

Puppeteer is a project from the Google Chrome team. The platform enables web developers to control a Chrome (or any other Chrome DevTools Protocol based browser) and execute common actions, much like in a real browser. Puppeteer is also a Node library and it provides a high-level API for working with headless Chrome. It is also a useful tool for scraping, testing, and automating web pages. 

Here are some things you can do with Puppeteer: generate screenshots and PDFs of pages, UI testing, test Chrome Extensions, automate form submission, generate pre-rendered content, and crawl Single-Page Applications. 

7. Codelabs

Google Developer Codelabs is a handy tool for beginner developers and even advanced developers who want to improve their knowledge. Codelabs provide a guided, tutorial, hands-on coding experience. Codelabs’ site is broken down into several tutorial sessions on different topics. 

With the tutorials on Codelabs, you can learn how to build applications from scratch. Some of the tutorial categories include Augmented reality, TensorFlow, Analytics, Virtual Analytics, G Suite, Search, Google Compute Engine, and Google APIs on iOS. 

8. Color Tool

Color Tool makes it easy for web designers to create, share, and apply colors to their UI. It also measures the accessibility level for any color combination before exporting to the palette. The tool comes with 6 user interfaces and offers over 250 colors to choose from. 

The tool is also very easy to use. All you need to do is pick a color and apply it to the primary color scheme; switch to the secondary color scheme, and pick another color. You can also switch to Custom to pick your own colors. After you have selected all your colors, use the Accessibility feature to check if all is good before exporting it to your palette. 

9. Workbox

Workbox is a set of JavaScript libraries and Node modules. The JavaScript libraries make it easy to add offline support to web apps. The Node modules make it easy to cache assets and offer other features to help users build Progressive Web Apps. Some of these features include pre-caching, runtime caching, request routing, background sync, debugging, and greater flexibility than sw-precache and sw-toolbox. 

With Workbox, you can add a quick rule that enables you to cache Google fonts, images, JavaScript, and CSS files. Caching these files will make your web page to run faster and also consume less storage. You can also pre-cache your files in your web app using their CLI, Node module, or webpack plugin. 

10. PageSpeed Insights

PageSpeed Insights is a handy tool from Google Developers that analyzes the content of a web page, then generates suggestions on how to make the page faster. It gives reports on the performance of a web page on both desktop and mobile devices. At the top of the report, PageSpeed Insights provides a score that summarizes the page’s performance. 

11. AMP on Google

AMP pages load faster and also look better than standard HTML pages on mobile devices. AMP on Google allows you to enhance your AMP pages across Google. It is a web component framework that allows you to create user-first websites, ads, emails, and stories. One benefit of AMP is that it allows your web pages to load almost instantly across all devices and platforms hence improving the user’s experience. 

12. Window Resizer

When creating websites, it is important that developers test them for responsive design – this is where Window Resizer comes in. Window Resizer is a Chrome extension that resizes the browser window so that you can test your responsive design on different screen resolutions. The common screen sizes offered are desktop, laptop, and mobile, but you can also add custom screen sizes. 

 

Featured image via Unsplash.

Source


Source de l’article sur Webdesignerdepot

Having a lightweight protocol which delivers messages over low bandwidth or unreliable networks is the foundation for a system that can facilitate the transports of data in near real time.

MQTT is one such protocol which designed to overcome following limitations:

Source de l’article sur DZONE

At QuestDB we’ve had a UDP version of the InfluxDB Line Protocol (ILP) reader in QuestDB for quite some time, but we’ve had customers ask for a TCP version of it, so we delivered!

Using it, and configuring it, are relatively simple so don’t expect this to be a long post but I’ll walk you through the basics of how to set it up and use it.

Source de l’article sur DZONE

As the great Mark Twain once wrote in response to reading his own obituary in May of 1897 , "reports of my death have been greatly exaggerated." Fast forward nearly a hundred years to 1995, and a Finnish computer scientist named Tatu Ylönen created a secure transport protocol known simply as Secure Shell (SSH). What do these things have to do with each other? Nothing, aside from perception.

In its most practical terms, SSH enables users to establish a secure, remote connection with a Linux-based machine via a Command Line Interface (CLI). SSH is the de facto standard for secure server access, and has survived the test of time, despite a significant shift in how infrastructure is operated in the cloud.

Source de l’article sur DZONE

Do you want to implement an HTTP server, but do you not want to take any risk of writing a full-fledged HTTP server? Developing an HTTP server with full capability is not a trivial task. But Java has got a solution to this kind of problem. Java supports an in-built HTTP server. By just writing 100 lines of code, we can develop a somewhat-decent HTTP server that can handle HTT$$anonymous$$ET and POST requests. We can also leverage it to handle other HTTP commands as well.

HTTPServer class

Java SDK provides an in-built server called HttpServer. This class belongs to com.sun.net   package. 

Source de l’article sur DZONE

Over the past decade, we have witnessed the emergence of revolutionary innovation, of which the evolutionary significance is yet to be fully recognized. Of course, we’re referring to the blockchain, cryptocurrencies, and, more generally, the phenomenon that we describe as the Internet of Value. Blockchain and related technologies have the opportunity to transform the world of finance and other value systems, in exactly the manner by which the Internet has transformed the way we exchange information.

There have been some key milestones leading up to this point: the launch of Bitcoin in 2008; the emergence of altcoins from 2011 onwards; the launch of Ethereum in 2015. We call this Layer 1 — the foundational level — with the economic function of value creation and the technical one of ensuring the basic functionality of accounting and transfer of crypto assets. All of this is implemented on the basis of distributed registries and with the conditions of interaction strictly regulated at the code level.

Source de l’article sur DZONE