LATEST FROM OUR BLOG

Take your daily dose of (only) relevant news, useful tips and tricks and valuable how to's on using the latest web technologies shaping the digital landscape. We're here to do all the necessary information sifting for you, so you don't have to, to provide you with content that will help you anticipate the emerging trends about to influence the web.

What’s New in Drupal 9? Any Game-Changing Features to Expect and... Prepare for?
These days, this is the question on the lips and minds of anyone developing/designing/creating content in Drupal or (just) managing a Drupal website: "What's new in Drupal 9?".  The "fear" is there and it's legitimate... For the (bad) experience that you've had with upgrading from Drupal 7 to Drupal 8 is still haunting you, isn't it? You just cannot forget that the whole process quickly turned into a rewriting of Drupal from the ground up...   Your contributed modules were not compatible with Drupal 8 and there was a ton of custom code to be rewritten...   So, how would an honest "Drupal 9 vs Drupal 8" comparison look like? What completely revolutionary and therefore high-impact features should you expect and... plan for (at least psychologically)? And I bet that you don't settle for the "The great news is that... there's no breaking news at all" type of answer, either. That's why we've gone beyond this explanation that everyone seems to have embraced by default and dug deeper.  The result? An inventory of all the changes (for there will be, even if not as dramatic as those that we've got used to from the previous major Drupal releases), ranging from:   upgrades of the underlying technology to a paradigm shift in the Drupal upgrading process itself to contributed modules that are every likely to get replaced with others to changes with an impact on Drupal 8's current "load" of third-party dependencies   So, let's dive right in, shall we? 1. Upgrading to Drupal 9 Will Be... Buttery Smooth (Unlike with D8) And this is the most exciting "no big news, yet a significant mind-shift" type of answer to your "What's new in Drupal 9?" question. It looks like the Drupal community has learned from its past mistakes... the hard way and it's determined to prevent them. What does this mean for you? It means that beginning with Drupal 9 all major Drupal software releases will be seamless, painless and... buttery smooth. Basically, Drupal 9 is Drupal 8 stripped off all its deprecated code.   If you've removed all old code and dependencies by Drupal 8.9, upgrading your website to Drupal 9 will be as hassle-free as... any Drupal release.   Image source: Drupal.org   2. What's New in Drupal 9? Newer Major Versions of Symfony and Twig  Ready to say goodbye to Symfony 3? It will get replaced with Symfony 4 or 5 after November 2021.  Also, expect an upgrade to Twig 2.0.  These upgrades can only translate into higher performance, improved developer experience, and enhanced security. Tip: you might want to take Symfony 4 for a short test drive on your Drupal 8 website, just to see how well it handles the new version. 3. Drupal 9 Drops Support for All Deprecated Code in Drupal 8 Another valid answer to your "What's new in Drupal 9?" question is:   It won't support any code marked as deprecate in Drupal 8.   Tip: since this "sanitizing" process is going to be a long, ongoing one, we suggest you turn it into a routine; keep removing out of date code from your Drupal 8 website to make sure that upgrading it to Drupal 9 will be as... buttery smooth as possible. Image by Michael Schwarzenberger from Pixabay     4. Contributed Modules: Expected to Work in Both Drupal 8 and Drupal 9 Now, this is definitely a standout change, that breaks away from the "the news is that... there is no news" opinion. Practically, there are high chances that contributed modules share a single codebase so that they can work both on Drupal 9 and Drupal 8 websites. And that's...new in Drupal. A whole new paradigm.   5. Drupal 9 Will Cut Down on Third-Party Dependencies With all deprecated functionality getting removed by the time Drupal 9 gets released, its load of dependencies will get significantly lighter. 6. Panelizer Is Expected to Get Removed and Replaced "What's new in Drupal 9?" Well, most likely Panelizer will get replaced with the Layout Builder, the "rockstar" module of the moment. So, you'd better consider letting go of this module. Image by Gerd Altmann from Pixabay   7. The Majority of Drupal 8 Modules Will Be Compatible with Drupal 9 Call it a change, a new approach or... just "something" that sets Drupal 9 apart from its predecessor: By the time it'll get released, all Drupal 8 contributed modules will be fully compatible with this new major version of Drupal. Almost half of the Drupal 8 modules turned out to be compatible with the analysis run in April this year, so... the future looks highly promising. 8. Final Word The "nothing new in Drupal 9" shared opinion isn't 100% accurate. Ok, if we compared this upgrade to the previous one, all these mind-shifts and new approaches in Drupal 9 are, indeed, no painfully disruptive changes. No new dramatic paradigms of development. But they are, nevertheless... changes. Differences... Not so much between Drupal x and Drupal 9, but between an old and a new model of upgrading Drupal. Main photo by Jon Tyson on Unsplash  ... Read more
Adriana Cacoveanu / Sep 19'2019
React.js vs Node.js: What Are the Main Differences? Which One to Choose for Building Your Next Web App?
They're both widely used, subsets of JavaScripts, high performing and yet... they're technically different. But different in what way, more precisely? In a “React.js vs Node.js” comparison, which framework would turn out to be the best choice for building your web application with? And why? Some might say that comparing the 2 JavaScript frameworks would be like outlining the differences between a high-speed train and a... sports car. They're completely different things. And yet, since both Node.js and ReacJS are temptingly advanced and equally popular among web developers, you can't help asking yourself: “Which one should I use for my next JavaScript project?” And the answer must be hiding in precisely those key differences that set apart the 2 equally efficient and equally tempting frameworks. So, let's dig in for these differences so that you can set them against your own project's:   various parameters size dependency ecosystem maturity   … and against your specific business needs, as well, so you can identify for yourself which one's the best choice for your custom web app:   1. React.js: What Is It Used For? But let's start with what React.js is before we dig into its use cases: It's an open-source JavaScript library (rather than a “conventional” web framework) that one can use with the web browser. One used mainly for:   building web browser apps (and not for executing them, like it's the case with Node.js) building high-performing, dynamic libraries building great user interfaces perfectly equipped to render large datasets   2. Why Would YOU Use React.js? Why Choose It Over Node.js? Let's fast forward to that moment where you will have already made your “React.js vs Node.js” comparison. Now, after seeing each JavaScript framework's pros and cons, why would you opt for React? The benefits of React boil down to... 3 essential ones:   2.1. It's SEO-Friendly And it's pretty predictable that ReactJS is SEO-effective if you come to think of it: Compared to other JavaScript frameworks, ReactJS renders code from the server right to the browser, as a regular web page. So, we can no longer be talking about Google (or other browsers) struggling to read your JavaScript-heavy web app.    2.2. It Performs Better No wonder: it creates its own virtual DOM, after all. How does this impact your React web app's performance?   DOM loads only a part of the web page (compared to the traditional full-refresh model) React handles all the regular updates in the DOM   2.3. It Embraces a Component-Based Architecture  Another one of React's biggest “selling points” is its fully component-based architecture:  You get to create your own components and display, combine, reuse, import and integrate them into your core content as needed. And there's more. More key reasons why you'd want to choose React.js over Node.js:   with React you can reuse code  it ships with smooth interface designs it updates faster it is view oriented  it provides support both for the client-side and the server-side it's easier for you to write UI test cases it allows you to write less code    3. And Why Would You Be Skeptical of Using React.js? For React.js must have its own limitations and shortcomings that might discourage you from using it in your project. And determine you to go with one of its “rivaling” JS frameworks instead... Here are some of its off-putting disadvantages:   a steep learning curve Flux architecture a discouragingly sophisticated view layer it uses JSX,  a mix of JavaScript and HTML it's a JavaScript library, not a framework you might still be required to perform some configurations if you need to incorporate it into an MVC framework   4. What Is Node.js? “Is React the same as Node?” you might ask yourself. But to answer that you first need to define Node.js, right? It's a lightweight and efficient JavaScript runtime environment on the server side, powered by the Chrome V8 JavaScript engine, that uses a non-blocking I/O  model. Its event-driven model enables you to create fast and scalable network applications. In this respect, the callback concept that it uses enables Node.js to tap into an event-driven single-threaded server and to execute JS on the server-side.   5. React.js vs Node.js: Main Reasons Why You Would Want to Use Node.js What are the key benefits of using Node.js for developing your web application? Again, as in the case of React.js, I'll boil them down to 3 major reasons why you'd be tempted to choose Node.js:   3.1. It Ships with Its Own Package Manager And this benefit becomes even more significant if you think of Node.js's ecosystem of thousands of package modules. Having a dedicated CLI at your disposal, to access and install all the packages that you might need during your app's development process, is a true time-saving tool.   3.2. It Can Be Used as a Server-Side Proxy Try to imagine these 2 common scenarios: You need to retreive data from various multiple sources or to proxy multiple services with different response times. How do you do that? You simply use Node.js as a server-side proxy.  This way, your web application's equipped to handle multiple, simultaneous connections efficiently.   3.3. It Manages Large Streams of Data Being designed to read really large datasets is one of Node's major advantages over React.js. And of particular importance to you if that networking application that you're building is expected to handle wmassive loads of data and files in real-time. In this respect, Node.js “joggles with” streams of data: It treats HTTP requests and responses as data streams (instead of isolated events, like in the buffering model). This way, it calls multiple data sources simultaneously. A great feature for real-time video streaming, for instance, where your app would be challenged to stream really large files. And these are not all the reasons why you might consider it to be the right choice for your JavaScript project:   it shares the same code on the client and on the server-side it's highly extensible it enables you to write real-time, server-side applications in JavaScript   6. Node.js: Limitations and Drawbacks And it would be only fair to outline some of Node.js's shortcomings, as well, right? So, what could be the main reasons why you might not find it suitable for your next web application project?   its nested callbacks it's doesn't handle CPU-intensive tasks efficiently enough new and new APIs get released, so you need to be on a constant alert for backward-incompatible changes  it's suited for web servers only it challenges you to troubleshoot relational database issues   The END! Now, what's the verdict? In a React.js vs Node.js confrontation, which JavaScript “framework” checks off most of the goals on your project's list? Image by Andrew Becks from Pixabay ... Read more
RADU SIMILEANU / Aug 01'2019
What Are the Best Google Site Search Alternatives? Top Reasons to Consider Cludo
What are some powerful Google Site Search alternatives? On-site search solutions that should be:   flexible effective versatile (easy to use on any CMS) quick to set up easy to configure  cloud-based AI-powered   … and to provide you with actionable insights on your visitors' search behavior. How about... Cludo, an internal search engine, and insights generator? Now, you might want to keep your “feature wishlist” at hand as you evaluate this competitor to Google's custom search solution.    1. But What Is Cludo? It's a robust on-site search tool that you can easily set up on your website, no matter what CMS you're using. This way, you add a search interface where you can pull relevant data on your visitor's search behavior. Its greatest strength? Its ease of use: It empowers you, irrespective of your technical level, to set it up and to further optimize the content it delivers, quick and easy. Unlike other Google site search alternatives, with Cludo you get easy access to actionable analytics. With a simple to use dashboard, you can pull powerful data and use it to constantly improve users' site search experience without having to be a... data analyst expert.   2. What Makes Cludo One of the Best Google Site Search Alternatives? And still: “Which are those unique features that Cludo provides?” For there must be other key reasons why it's now rivaling Google's own custom site search solution... Well, let me highlight just some of its most powerful features:   customizable index: you get to customize the criteria so that certain pages get pushed forward; you even get to specify what type of content should and shouldn't be searchable   machine learning-based autocomplete: it provides users with robust suggestions and corrects their misspellings in real-time   actionable search insights: it provides you with key data on who your website visitors are and what precisely they're searching for; you can tap into this information to deliver engaging and relevant content, to further optimize users' site search experience   an easy-to-use interface: Cludo's UI is designed so that even if you're not a technical user you should still be able to configure your on-site search solution quick and easy   semantic search: it delivers accurate and relevant results even if your website visitors type in words that are totally different from your anticipated search terms; Cludo taps into intelligent semantics, uses bigrams and synonyms to deliver the most comprehensive search results   3. Cludo vs Google Custom Site Search Engine    What if we confronted the two powerful site search solutions? Which would be the Google limitations that we would see exploited and counterbalanced by robust Cludo features?   3.1. Google Custom Search Engine  Its functionality is pretty straightforward: thanks to the search bar added to your website, your visitors can look for specific content quickly. Now, when it comes to its limitations, there are a few:   fewer customization options it doesn't provide you with the tools (e.g. actionable analytics) needed to constantly improve and customize the site search experience delivered on your website   3.2. Cludo Now, when it comes to Cludo, it does ship with some unique features that come to “exploit” Google Site Search's lack of them:   first of all, it's equipped with all the features you need for customizing the site experience: you get an easy to use dashboard where you can pull relevant analytics on your users' behavior and specific needs … this way, you can tailor the delivered content accordingly and provide them a fully customized site experience it ships with a banner analytics feature: you can add banners to your results page for... upcoming events, key search terms, etc. The END! Summing up now: If, when evaluating some of the Google Site Search alternatives, you value particularly those features that enable you to customize the user experience, then Cludo might just be the solution you're looking for. Image by Clker-Free-Vector-Images from Pixabay   ... Read more
Adriana Cacoveanu / Jul 29'2019
What Exactly Is a Cloud-Native Application? And Why Would You Care? Main Features and Benefits
What is a cloud-native application in the context of cloud computing? Does “cloud-based” and “cloud-native” refer to the very same type of architecture? Does cloud-native development mean using a specific set of methodologies and tools or simply hosting, running and managing your app in a specific environment? Let's try to define, in plain English:   what cloud-native apps are the key principles of the cloud-native development process   … and to bust some of the myths and confusions around cloud-native technologies and the cloud-native type of app architecture.   1. “Cloud-Native”: What It Means & Key Patterns A cloud-native technology enables you to build and to run your scalable app in a dynamic environment: a public, private or hybrid cloud.  To give you just a few examples of specific techniques supporting the “cloud-native” approach: immutable infrastructure, containers, service meshes, declarative APIs.  What they do precisely is enable loosely coupled systems. This way, you get to ship new features faster, with less effort, more predictably and with zero impact on the end user's experience.   2. What Is a Cloud-Native Application in Plain Words? The most concise definition possible would be: It's an application developped using cloud-based technologies, fully hosted and managed in the cloud. Do you sense the underlying difference between a “cloud-based” and a “cloud-native” application? While the first one might be an older app re-architected to run properly on a cloud operating system, the second one has been hosted in the cloud from the very beginning. It runs in cloud end-to-end... Meaning that it has been written, tested and deployed in the cloud, using technologies and services that are cloud-based and not just rehosted, subsequently, to a cloud computing environment. That opposed to the (just) cloud application. Now, if we were to highlight the traits that set them apart from traditional applications, I would sum them up to 3:   they're built with agility and high flexibility in mind, which translates into better security, top performance, and improved customer experience … and into the high speed at which you can run new features, apply changes and, overall, customize your app there's no monolithic software codebase that they depend on; instead, they're built in a modular manner, leveraging multiple infrastructures and cloud computing frameworks    3. 3 Defining Characteristics of a Cloud-Native App “What is a cloud-native application?” is a question that calls for another one: “What are its definining features?” In other words, how can you identify a cloud-native application? Let me trim down the long list of traits to the most specific ones:   they're not limited to certain public cloud infrastructures they scale better since they tap into the cloud platform's elasticity they're built using a set of cloud-specific DevOps methodologies, technologies, and architectural approaches: lightweight container environments, infrastructure as code, microservices, orchestration   4. Why Would You Develop a Cloud-Native App? 7 Main Reasons If you think that the above-mentioned characteristics don't stand as strong enough reasons for you to opt for cloud-native development, here are some more convincing ones:   4.1. Managing Your Infrastructure Gets Easier Let the serverless handle it for you!  With serverless platforms like AWS Lambda and Azure Functions, operations like configuring your networking, provisioning cloud instances and making sure there's enough storage will get automatically taken care of. All there's left for you to do is upload your code as functions...   4.2. Cloud-Native Apps Are Resilient to Failures “What is a cloud-native application?” It's that “ideal” app that ships with built-in self-healing. Therefore, expect it to handle outages automatically, to be inherently fault-tolerant. If trouble strikes, you cloud-native app processing will move from one data center to another promptly and discreetly. In short: the end user's experience won't get affected and you don't need to worry about downtime costs.   4.3. You Can Release Your Apps Faster Since it supports DevOps processes — streamlining key operations like build, test, deployment automation and collaboration — your cloud-native app will speed up the whole software delivery process.    4.4. Lower Costs And the 4 key reasons behind the inevitable reduction of costs are:   containers: containerizing your app will enable you to manage it easier and safer cloud-native tools, which lead to a certain standardization of the tooling the open-source model the serverless computing, which supports a pay-per-use model and enhances flexibility in pricing   4.5. Your App Scales Automatically to Accommodate Your Growing Needs One of the main attributes of a cloud-native app's architecture is auto-scaling. Basically, your app will scale, by default, to handle your future business needs. And this reflects in the costs, as well: you'll get charged only for the computing resources that you'll use.   4.6. You App Supports Auto-Provisioning Just imagine: your business-critical app will run non-eventful, using an on-demand allocation of services right from the app. It will automatically tap into self-service and programmatic provisioning, so you don't need to manually provide them with the resources they need to run smoothly.   4.7. You'll Provide a Better Customer Experience And it's quite predictable since the cloud-native principles revolve around a fast shipment of new features and continuous iteration.   The END! Is my answer to your “What is a cloud-native application” question clear enough? And what about the above-listed reasons to opt for this type of app development architecture? Are they relevant enough for your own scenario? Image by Clker-Free-Vector-Images from Pixabay ... Read more
RADU SIMILEANU / Jul 22'2019
Drupal on Blockchain: Why Would You Want to Decentralize Your Drupal Network?
Just imagine: you update content on one of your Drupal websites and it gets automatically synchronized across your whole network! That's Drupal on Blockchain in just a few words... Say you manage a national library's infrastructure of Drupal websites. One for each one of its local branches. Now, here's how moving all the user data stored in there from your centralized database onto a decentralized blockchain system would benefit you:   readers get to validate their own user data since there's no central entity having full (and exclusive) control over it once they've updated their user data on one of the library's websites, it'll get synchronized across the entire network the well-known vulnerability to errors of centralized multi-site structures gets eliminated; there's no longer a centralized database acting as a single point of failure the decentralized architecture speeds up any operation that gets performed across the network you'd avoid scenarios where the same reader enters his login credentials on one of the library's websites and gets asked to enter them, once again, when accessing the website of another library branch   And I would also add: increased transparency, lower transaction costs... But I'd better dive into more details on how Blockchain and Drupal can work together and how you can benefit from the decentralized architecture that they'd put together:   1. Blockchain: What You Need to Know About Its Potential But first, here's Blockchain in plain words: A decentralized shared system where multiple participants store their data, interact directly with each other, manage and keep record of their transactions. How is it different from the “old” way of managing transactions across a network?   there's no more a centralized database for storing data and transactions; participants (nodes) store it among themselves … this grants them total control over their own data/created content users involved in a blockchain network get to interact with one another freely, with no need of a third-party as an intermediary it establishes a system of rule-based transactions each transaction — editing, deleting content, etc. — gets documented it enhances communication between nodes/participants transactions get carried out at higher speed and, implicitly, with fewer costs with no central entity as a unique storage source, there's no single source of failure anymore enhanced transparency   In short: blockchain enables you to set up a secure and immutable architecture for your network.   2. Blockchain and a New Content Distribution Model “Transparency” is the keyword here. Decentralizing a content distribution platform would benefit both content creators and content consumers:   digital publishers become the only ones allowed to update or delete their own content consumers pay producers directly for the content they consume (written content, songs, videos, etc.)   This way: content creators get full control over their own content — there's no platform owner who could remove it to his/her liking — and get paid fairly and in real-time, for each piece of content that gets “consumed”.   3. Drupal on Blockchain: Why, How, and With What Costs? Why would you want to decentralize your CMS — in this case, Drupal — and store your data on Blockchain?  To answer your question, let me highlight just a few of the inconveniences of managing your content on a centralized Drupal database:   each transaction is explicit and irreversible it poses a higher vulnerability to errors multiple-user functionality can turn out to be a serious dread the centralized database acts as a single point of failure: if something crashes in there, the whole system is at risk updating content in your database doesn't automatically update it across your entire network of Drupal websites...   And how would the 2 technologies work together? Considering the fundamental differences between them:   Drupal uses a centralized architecture to manage content Blockchain uses a decentralized, middleman-free workflow based on a verification element   Before I try to answer your legitimate question, let me ask you this: Do you seize any similarity between Drupal's “open data” phylosophy and Blockchain's “decentralized data” principle? Now, here's how your hypothetical “Drupal on Blockchain” architecture would look like:   it'd be a much more secure, decentralized structure (you'd remove the single point of failure, remember?) since a blockchain workflow would use an immutable validation of data, it'll act as a guarantee that no content can get modified by other than its creator/distributor user data/content would be easily accessible across the entire infrastructure (take the example of an enterprise-level business, running a multi-site Drupal network) … and it'd synchronize in real-time across all your Drupal instances, as well... transactions performed within this architecture would be rule-based: every single content update or removal will get documented   “But at what costs?” you might ask. What compromises would you need to make to run Drupal on Blockchain?  What challenges should you get prepared for? Here are 2 potential “dares” to ponder upon:   first of all, integrating your current Drupal data into a blockchain system won't be quite a “piece of cake” secondly, getting the consensus of all the participants (say users whose data would be easily accessible network-wide) is also a serious issue to consider   4. Drupal Development Efforts in this Direction: The Blockchain Module This duo — Drupal and Blockchain — has generated quite a lot of talk these years. And quite a handful of promising initiatives and even prototypes have been presented (integrations with Etherium and bitcoin...) From all these initiatives of the Drupal community, I've decided to put the spotlight onto the Blockchain module (not yet covered by Drupal's privacy policy). Take it as a “scaffolding” to support your future “Drupal on Blockchain” architectures. It provides the functionality you need to:   set up your Drupal installations as blockchain nodes; ”nodes” that are independent, meaning they can get configured independently ensure that your newly set up nodes are compatible with each other   The END! This is the “why, how and at what costs” of this topic. One which has been on the lips (and on the Drupalcon slides) of members of the Drupal community for quite a while now. What do you think? Would such a decentralized Drupal on Blockchain architecture suit your own project's needs and constraints? Would you trade your central point of storage for the convenience of automated content synchronization? Photo by Clint Adair on Unsplash ... Read more
RADU SIMILEANU / Jun 28'2019
What Are the Most Famous Node.js Applications? 4 Large Scale Apps Built with Node.js
"What are some of the biggest companies using Node.js?" Some Node.js applications trafficked by... millions of users, on a daily basis, processing huge loads of data in record time... Those globally-known projects that are currently leveraging this JavaScript runtime's most powerful advantages: top performance and unmatched scalability... A legitimate question to ask yourself if you're toying with the thought of creating your own project on Node.js these days.  In this respect, here are 4 such global players who've switched over to Node.js to get inspired by:   1. LinkedIn The business-oriented social network, with over +450 million members, has been one of the first global players to feature a mobile app backend built entirely on Node.js. Why Node.js?   because it scales like no other because it outshines Ruby on Rails, the technology that the company switched from, from a performance standpoint because it's the best for calling other services; and it was critical that their app should communicate seamlessly with their database and the platform API   Main benefits for using Node.js:   they doubled their traffic capacity they speeded up the development process: both front-end and back-end mobile developers can now tap into their JavaScript skills and merge into one single team they've freed their resources, reducing the number of servers from 15 to... 4 they've boosted their app's performance on the client-side; it now runs up to 10 times faster   2. Paypal   200 million users, transactions in +100 currencies... Now, that says something about Node.js's built-in capabilities to withstand huge amounts of traffic and to overcome major data processing challenges. No wonder that this globally-known online payment service is now featuring a client-facing side web app on Node.js. Why Node.js?   because it enables development teams to use the same language, JavaScript, for both the browser and the server … and this speeds up the development lifecycle dramatically (removing the need to use Java, on one hand, and JS, HTML, CSS, on the other hand)   Main benefits for using Node.js:   they've built their application 2 times faster it's one of those Node.js applications that's got significantly lighter; it now includes 40% fewer files and 30% less code the “new” network app now serves twice as many requests per second   3. Netflix, One of the Highest Traffic Node.js Applications  Netflix's user interface is the perfect example of how Node.js's built to cope with massive loads of traffic and data-intensive streaming scenarios... In short: you have a global streaming service, a heavy network infrastructure of 130 million users, with its server-side rendering powered by Node.js. Why Node.js?   because it simplifies and streamlines the whole development process: developers now get to use JavaScript for both client-side and server-side coding because it ships with a rich collection of modules for any functionality they might need to implement because it's just... fast; speed and load time sure are some critical aspects to consider in case of a high traffic video content provider like Netflix   Main benefits for using Node.js:    a modular, lightweight and fast application: load time has been reduced by 70% they've cut down their build times dramatically (with JavaScript now being the only language used for both the back-end and the front-end of their app) user customization is now possible   Note: Netflix's UI is, no doubt, one of the most successful Node.js projects out there and it's not just their app's skyrocketing popularity that confirms it, but the company's own intention to move their data access layers to Node.js, as well.   4. Uber Connecting drivers and passengers worldwide, the ever-growing online transportation network dependeds on a system with outstanding data processing capabilities. And Node.js excels at I/O-intensive tasks...  Why Node.js?   because it scales like no other, coping with an increasing demand for mobile taxi services because it's designed to support distributed systems sending a heavy load of network requests because it gets constantly and continuously upgraded by its dedicated open source community because it's built to process massive amounts of data in record time, risk-free because it provides quick error analysis and almost instant code deployment; programs get scanned through and new code deployed in... no time   Main benefits for using Node.js: Uber is one of those Node.js applications processing +2 million remote procedure calls within one second; even when challenged to withstand high spikes of traffic...   The END! Are these heavy-weight names convincing enough? Are these 4 large scale and top performant Node.js projects inspiring enough for you? Photo by Marianne Krohn on Unsplash  ... Read more
Adriana Cacoveanu / Jun 25'2019
How to Upgrade to Drupal 9: Just Identify and Remove Any Deprecated Code from Your Website
This is no news anymore: preparing to upgrade to Drupal 9 is just a matter of... cleaning your website of all deprecated code.  No major disruption from Drupal 8. No more compatibility issues to expect (with dread)... “Ok, but how do I know if my website's using any deprecated APIs or functions? How do I check for deprecations, identify them and then... update my code?” 2 legitimate questions that must be “haunting” you these days, whether you're a:   Drupal 8 website owner developer currently working on a Drupal project   Since the great news of this smooth Drupal upgrade ships with the answer to your “What” question (“What do I do to get my website ready for Drupal 9?”), but leaves the “How” question open: “How precisely do I check my website for deprecated code?” Are there any analysis tools available? Tools that you could run to get a thorough and accurate deprecated code report?  Luckily, there are. And I'll be focusing on 2 of the most effective ones that you should consider integrating into your workflow: Drupal Check and the Upgrade Status module.   1. But What Is Deprecated Code? And What Website Elements Should You Audit? A piece of code is considered deprecated if:   there's an upgraded alternative for it already available it's no longer in use   With this real “dilemma” now solved, there comes another one: “What parts of my website should I check for deprecated code?” Make sure you scan your:   Drupal core Drupal modules theme   Note: pay special attention to the contributed modules enabled on your Drupal 8 website; run a deep-scan and, if you get any deprecation warnings, make sure to alert those modules' maintainers to clean them up.   2. Drupal Check: Scan Your Database for Any Deprecations  A handy PHP analysis tool to grab and to run whenever you need to look for deprecated code in your database.  A command-line tool that Dries Buytaert recommends running the... automated way,  closely integrated into your own workflow. What it'll do is track down instances of deprecated code for you. Then, all there's left for you to do is to... remove them. And, depending on the context, to replace them with their upgraded alternatives.   3. The Upgrade Status Module: Determine Your Site's Readiness to Upgrade to Drupal 9 If the idea of working with a command line doesn't sound too... “tempting” to you, how about adding a user-friendly graphical interface to the equation? The Upgrade Status module, delivered to us by the Aquia team, led by Gábor Hojtsy, makes checking for deprecated code a lot more enjoyable and intuitive, thanks to its admin dashboard. It's particularly handy if you're a Drupal site owner and not a senior Drupal developer highly familiar with CLIs. Install it, enable it and use it to evaluate your website and to assess to what degree it is ready (meaning up to date) for the Drupal 9 upgrade. But let's delve head first into details on:   what it takes to install it properly what parts of your website it will deep scan how you can narrow down its analysis to specific projects only   3.1. Use the Composer Package Manager to Install It Since it ships with its whole collection of third-party PHP dependencies... Another key requirement to set the stage for the Update Status module is to enable the Update Manager and the Git Deploy modules on your Drupal 8 website. Once installed, you can access its user interface at /admin/reports/upgrade.   3.2. Check Up Your Codebase, Modules, and Themes The great thing about this module is that you get to run your checks right in your admin UI and get a full report. Another great aspect is that, when it comes to contributed modules, it will provide you any available updates... inline.  Once it's completed its scan it'll display either an “Errors found” or a “No known errors” message. To localize the identified deprecations on your website, just click “View errors”.   3.3. Run It on Specific Individual Projects, Too Maybe you don't always need a full check. Maybe you'd like to scan only a specific project that you might be working on, to ensure that it's ready to upgrade to Drupal 9 when due time. You can do that. The module allows you to cut down the time you'd spend on an unnecessary full-scan by focusing on one target project only.  Furthermore, to streamline things even more, it enables you to export each deprecated code report individually...   4. So, You'Ve Identified Your Deprecated Code: What Next? In most cases, keeping your codebase up to date once you've detected the deprecated parts is just a matter of replacing those deprecations. For the other few cases left, you'll need to carry out a more complex refactoring process. Now that you know which are the tools to use for:   running your audits spotting any deprecations in your codebase   … your website's smooth upgrade to Drupal 9 depends on you exclusively.  On sticking to your own routine of checking up your Drupal core, modules and theme and keeping them up to date. Image by fajar budiman from Pixabay ... Read more
RADU SIMILEANU / Jun 21'2019
Laravel or Drupal 8? What Are the Key Differences? Which One Best Fits Your Use Case Scenario?
What does Drupal 8 do that Laravel does not? What key functionalities, that Drupal ships with, do you need to build from scratch in Laravel? And how would opting for Laravel benefit your specific type of project? In short: Laravel or Drupal 8? “It's like comparing apples to oranges” some might say since one's a framework and the other one a CMS. Even so, if it's unclear to you what are their particular use cases and their built-in features, you won't know whether it's a CMS or a framework that best suits your project type, right? That best serves your project-specific needs:   to be super fast to leverage a solid, off-the-shelf content management system for publishing different pieces of content on the website to feature an easy to scale database to support multisite to tap into robust user and content management features that are already implemented to be built on top of a solid framework acting as a reliable back-end application to leverage a highly intuitive admin user interface to be 101% secure to leverage a mixture of server and client-side logic   Now, keep your list of project requirements and constraints at hand to evaluate these 2 technologies' pros and cons against it:   1. Drupal 8: Top Benefits, Main Drawbacks, and Specific Use Cases If a robust user and content management system is critical for your project, then Drupal 8 makes the smartest choice. It's that “thing” that Drupal excels at that, which would take you a whole lot more time to do in Laravel. And it's not just its robustness that might “lure you in”, but the level of convenience that it provides: a lot of the essential features and functionalities that you might need are already built-in. Moreover, you can easily manage them and custom-tune them via your admin interface... By comparison, you'd need to build these functionalities, from the ground up, if you chose to go with Laravel.   Top benefits:   you can rest assured that your website runs on a particularly robust, Symfony-based CMS there's a huge, dedicated community backing it up you get to create various content types, for different parts of your website, assigned with different roles; unlike basic CMSs, that enable you to write... posts and to create new web pages you can set up different editorial workflows and assign specific user roles, with fine-grained access control you can always further extend its CMS-specific functionalities: extensibility is one of the strongest Drupal 8 benefits   Main drawbacks:   you do need a team of Drupal experts (senior-level preferably) to keep an eye on your Drupal 8 website/app and keep everything properly maintained you can't get away with a “get it up and running and... move on” type of philosophy; Drupal 8 is a more of a long-term commitment: there's always a newly launched promising module to consider adding on, a new update to run...   Specific Use Cases for Drupal 8:   large-scale projects that depend on a robust and reliable content management system; one that withstands an intense, ongoing process of creating, editing and publishing lots of fresh content Laravel or Drupal 8? Definitely the later if it's a multi-site, multi-language web project that you plan to develop; not only that it streamlines content publishing  across your whole network, but it significantly speeds up localization thanks to its server-side caching capabilities   It means that no matter the place on the globe where that your users might be located, they get to access your web pages and have them loaded... instantly.   2. Laravel: Pros, Cons, and Project Types that It's Best Suited For Laravel stands out as a highly reputed, powerful PHP framework.  If:   maintainability is one of your biggest concerns you're looking for a robust framework you need to carry out your project fast enough you need a framework that ships with all the latest functionalities   ... then Laravel is what you need.   Top Benefits:   a fast-growing, devoted community you can easily integrate LDAP authentication  it leverages the Model-View-Controller architecture it's just... fast provides you with a great admin user interfaces it “spoils” you with intiutive, beautifully written code it ships with a heavy “toolbox”: scan through and pick the most suitable one(s) for your project in-built code for social login and sending out emails everything you might need to set up during the development process is right there, already integrated into your code: cron jobs, database queries, routes...   Main drawbacks:   more often than not identifying performance issues isn't that straightforward upgrading to the latest version of Laravel can turn out to be quite a challenge: be prepared for “buggy scenarios” and for the need to rewrite code you can't just jump straight to Laravel: learning the basics of OOPS first things first is a must   Specific Use Cases:   your project needs a back-end application (rather than an off-the-shelf CMS) when the benefits of the MVC architecture (faster development process, suitable for large-scale projects, multiple views, etc.) are critical for the given project  whenever you need to mix client-side with server logic whenever time is the main concern for you: you just need your project developed super fast   3. So... Laravel or Drupal 8?  Now, I'm sure that you already anticipate my answer: The choice depends strictly on your project requirement and objectives. On your own hierarchy of priorities in terms of features and functionalities. And depending on these key aspects, that should be clearly defined, one technology will benefit you over the other. So... what type of project are you looking to build? Photo by Raquel Martínez on Unsplash  ... Read more
Adriana Cacoveanu / Jun 20'2019
How You Can Improve the On-Site Search User Experience: 8 Simple Best Practices- Part 2
Have you got the chance to apply the simple tweaks and techniques shared with you in the first part of this post? Ready now to further improve the on-site search user experience by focusing on the usability of your internal search results? For, in vain you make your search box fully visible and usable if the options that the user gets once he/she enters his search phrase are just... irrelevant, unhelpful. That's why in today's post we'll be shifting focus from the search box to the internal search results themselves: What can you do, as a website owner, to ensure that your search functionality triggers the most relevant, most useful options only?   5. Improve Your Page Load Speed “Don't make your website visitors search for the... search bar!” is equally critical as: “Don't keep your users waiting too long for the search results to get displayed!”  Speed is crucial, so make sure you've applied all the due techniques. And there sure are a lot, ranging from common sense ones to truly sophisticated performance tweaks to keep your page load speed below... 3 seconds. Note: If loading takes more than 2-3 seconds, just get resourceful. Display a progress indicator or a suitable animation to keep users distracted from the waiting process.   6. Prepare a Back-Up for the “No Results to Display” Scenarios How are you planning to manage the “empty searches” situations?  For, there will be instances when there's no content on your website that could possibly match the users' search terms. In this case, you can always apply the 2-step “emergency plan” to improve the on-site search user experience:   first, you make sure that your search functionality has scanned your entire website content: PDFs and other file formats, CMS pages and full copy here included, not just metadata, etc. you present them alternative search options related, to some extent, to their entered queries: broad matches, contextual category links, etc.   Word of caution: providing a list including all the categories on your website or displaying top searches do not qualify as alternative search suggestions that could boost the UX.   7. Improve the On-Site Search User Experience: Add Filtering Options Another one of the highly effective internal site search best practices is adding filters that narrow down the user's options to the most relevant ones. For instance, you could segment their search options into “Blogs”, “Support”, “Products” etc. and thus speed up the search process. Note: set up your analytics so you get the most of them; the most relevant data that you can then use to constantly optimize your filters   8. Leverage Semantic Search to Provide More Relevant Search Results Tune the result relevancy and you'll improve the on-site search user experience.  In your quest for relevancy, semantic search makes your most powerful ally:   the whole process taking place “behind the curtains” will be much more than a mere keyword matching, thanks to natural language processing. you avoid the risk of frustrating the user by returning too many search results instead of displaying the most relevant ones only you won't convey the message that you have no regard of the user's effort to enter a specific, long-tail query a semantic search implementation leverages a “context vs intent” formula and generates results that are 100% relevant to the user's search intent...   Note: if you can't make use of semantic search on your website, there's always a better alternative than the free text search box. For instance, you could set up a constrained search and guide the user towards the most relevant search phrase... The END! These are the last 4 simple techniques that you can apply to improve the on-site search user experience.  Now, to sum up the key advice that we've shared with you in this 2-part blog post:   search result relevancy should be your main goal a well-designed UI is worthless without a well thought-through logic behind it predictive and semantic search should be the pillars that you base your on-site search function on... Image by Clker-Free-Vector-Images from Pixabay   ... Read more
Adriana Cacoveanu / Jun 17'2019