Articles tagged with
javascript
10 Nov 2022
Building a complex web platform can be a real challenge, especially when parts of it are delivered by independent teams.
Picking out the correct architecture is crucial, but maintaining it can be even more challenging.
Frontend microservices, aka microfrontends, is an architecture that gives a lot of flexibility, but can cause
performance issues in the future, if not managed well. This article presents an approach to the microfrontends
architecture to keep the frontend technology stack efficient based on the complexity of user interface.
10 Feb 2022
Everyone repeats like a mantra that tests are an indispensable element of development work. Is there anything to it?
Well, I need to admit that as a developer, I rather often want to skip the test writing stage. I assume I’m not the
only one. I’m aware that it’s a mistake, even with testers on board. Effective and efficient testing of your own
code can help with catching bugs in new functionalities, as well as in changes to already existing ones. It cannot
be questioned. Sometimes tests also help to understand how some long-unused functionality or component works. And
that’s a small bonus too. Can a large project cope without testing? Probably so. But the number of errors and
their severity will probably be much higher. That’s why in Allegro Ads we pay attention to writing tests.
23 Sep 2021
The main goal of boosting website performance is to improve the user experience. In theory,
a satisfied customer is more likely to use a particular company’s services, which is then reflected in business results.
However, from my own experience I can say that not every change can be easily converted into money.
I would like to tell you how to reconcile these two worlds, how to convince the business that the benefits of
better performance are a long-term investment, and how to streamline the development process during the design or code writing process.
21 Jul 2021
Almost every modern web application somehow interacts with a backend - be it loading data, doing background sync, submitting a form, or publishing the metrics.
Making API requests is not an easy task - we have to consider multiple outcomes and handle them properly. Otherwise, we might end up with confused users and
decreased conversion. Although the stakes are high, it is still very likely to encounter an application designed with only a happy path scenario in
mind. The question is - how can we improve it?
08 Jun 2021
Some time ago we announced that Allegro passes Core Web Vitals assessment and thanks to that we were awarded in “Core Web Vitals Hall of Fame”.
It means that Allegro is in the group of the 27% fastest websites in Polish Internet.
23 Nov 2020
JavaScript Frameworks play an important role in creating modern web applications.
They provide developers with a variety of proven and well-tested solutions for creating efficient and scalable applications.
Nowadays, it’s hard to find a company that builds its frontend products without using any framework,
so knowing at least one of them is a necessary skill for every frontend developer.
To truly know a framework, we need to understand not only how to create applications using it, but also how to test them.
11 Aug 2020
Let me start with a story. Once upon a time I stumbled upon an excellent
article by Philip Walton where he describes how expensive
script evaluations could (and should!) be deferred until the browser is idle or they are actually needed. One of the
examples that awakened my interest was creating an instance of the Intl.DateTimeFormat object, as I was using this
great API quite often but never thought it can cause real performance problems. Turns out it can, especially if
used inside loops. Apart from the technique
described in Philip’s article, another solution is to simply reuse Intl.DateTimeFormat instances instead of creating
them every time.
08 Nov 2019
One of the coolest features added in just announced TypeScript
3.7 is optional chaining syntax. It promises a
much shorter and more readable code for dealing with deeply nested data structures. How may this nice new feature affect
the performance of your project?
09 Apr 2019
A modern look and fully mobile-friendly design — this is how we created the new version of ads.allegro.pl.
Unfortunately, several hundred tests did not protect us from errors.
The last straw was when a simple but very annoying problem appeared in production.
We decided to start a revolution. We considered Flow, but ended up adopting TypeScript
for Allegro Ads.
10 Nov 2015
At Allegro, you can sell items at a fixed price (buy now) or at auction.
Auctions are still a popular sales format, especially in categories such as antiques and art or clothing.
So far, buyers fighting for an item had to refresh the web page in the last seconds of the auction to verify that the offer had not been overbid.
This made bidding difficult and less fun. Last year real time bidding process for all mobile users was introduced.
In this article I want to show how to create a simple application that provides real-time bidding, based on Allegro auctions.
We will use WebSockets, SockJS
and the latest, third version of Vert.x.
We will create a frontend for fast bidding that communicates with a microservice written in Java 8 and based on Vert.x.
08 Apr 2015
So you have created a brand new and shiny Node.js based app. And now, how would you like it
deployed? How to pack it and deliver to a production environment? In this post we’ll describe this process (we
assume some familiarity with the concepts of Node.js and npm).
04 Mar 2015
Any website finds identification of visitors crucial.
Usually, cookie files are used, but they have several drawbacks,
as users can delete or block them (e.g. by activating the “incognito” mode in web browsers).
Besides, cookies fail to identify a user who uses several different web browsers, even if he or she connects using the same device.
Hence the idea of a browser fingerprint — a unique user identifier
which does not change between successive sessions and which does not depend on selected web browser.