jQuery lives on; major changes teased

#​639 — May 18, 2023

Read on the Web

JavaScript Weekly

Bun’s New Bundler: 220x Faster than webpack?Bun is one of the newest JavaScript runtimes (built atop the JavaScriptCore engine) and focuses on speed while aiming to be a drop-in replacement for Node.js. This week’s v0.6.0 release is the ‘biggest release yet’ with standalone executable generation and more, but its new JavaScript bundler and minifier may attract most of the attention and this post digs into why.

Jarred Sumner

???? If you’d prefer to read what a third party thinks, Shane O’Sullivan gave the new bundler a spin and shared his thoughts. There’s also some discussion on Hacker News. It’s early days and while esbuild may be fast enough for most right now, it’s fantastic to see any progress in bundling.

Deopt Explorer: A VS Code Extension to Inspect V8 Trace Log Info — A thorough introduction to MS’s new tool for performing analysis of the V8 engine’s internals, including CPU profile data, how inline caches operate, deoptimizations, how functions were run (interpreted or compiled) and more. There’s a lot going on.

Ron Buckton (Microsoft)

Supercharge Your Websites and Applications with Cloudflare — Get ready for supercharged speed and reliability with Cloudflare’s suite of performance tools. With ultra-fast CDN, smart traffic routing, media optimization, and more, Cloudflare has everything you need to ensure your site or app runs at peak performance.

Cloudflare sponsor

jQuery 3.7.0 Released — JavaScript Weekly is 638 issues old, or almost 13 years once you take away weeks off, so jQuery was a big deal in our early days. We hold a lot of nostalgia for it, and it remains widely used even if no-one is writing about it anymore ???? v3.7 folds the Sizzle selector engine into the core, adds some unitless CSS properties, gains a new uniqueSort method, and “major changes” are still promised in future. jQuery lives on!

Timmy Willison (jQuery Foundation)

⚡️ IN BRIEF:

TC39’s Hemanth.HM has begun keeping a list of ES2023 code examples like he did for ES2022, ES2021, and ES2020.

???? The New Stack has a story about Meta supporting the OpenJS Foundation – but who wrote the article is what we found more interesting..

The folks at Meta / Facebook have written about the efficiency gains made in Messenger Desktop by moving from Electron to React Native.

One downside to platforms like Cloudflare Workers using V8 isolates has been a lack of support for opening TCP sockets – quite an impediement if you want to talk to a RDBMS over TCP or something. Fear no more, Cloudflare Workers has introduced a connect() API for creating TCP sockets from Workers functions.

Promise.withResolvers progressed to stage 2 at the latest TC39 meeting.

RELEASES:

Node.js 20.2

Rome 12.1
↳ The formatter/linter gains stage 3 decorator support.

Ember.js 5.0 – App framework.

Jasmine 5.0 – Testing framework.

Gatsby 5.10

???? Articles & Tutorials

How to Get Full Type Support with Plain JavaScript — It’s possible to reap the benefits of TypeScript, yet still write plain JavaScript, as TypeScript’s analyzer understands types written in the JSDoc format.

Pausly

TypeScript’s own JS Projects Utilizing TypeScript page has more info on the different levels of strictness you can follow from mere inference on regular JS code through to full on TypeScript with strict enabled.

▶  Coding a Working Game of Chess in Pure JavaScript — No canvas, either. All using the DOM, SVG, and JavaScript. No AI and it’s not perfect, but it’s only 88 minutes long and it’ll give you something to work on..

Ania Kubow

Automate Slack and MS Teams Notifications Using Node.js — Quick guide to send and automate messages via Slack, MS Teams, and any other channel from your Node.js applications.

Courier.com sponsor

Your Jest Tests Might Be Wrong — Is your Jest test suite failing you? You might not be using the testing framework’s full potential, especially when it comes to preventing state leakage between tests.

Jamie Magee

A Guide to Visual Regression Testing with Playwright — The Playwright browser control library can form the basis of an end-to-end testing mechanism all written in JavaScript, and comparing the visual output of tests can help show where things are going wrong.

Dima Ivashchuk (Lost Pixel)

Create a Real Time Multi Host Video Chat in a Browser with Amazon IVS

Amazon Web Services (AWS) sponsor

React Server Components, Next.js App Router and Examples — Addy Osmani’s overview of of the state of React Server Components, the Next.js App Router implementation, other implementations, the move towards hybrid rendering, plus related links.

Addy Osmani

..and if React is your thing, the latest issue of React Status is for you.

???? Code & Tools

VanJS: A 1.2KB Reactive UI Framework Without JSX — A new entrant to an increasingly crowded space, VanJS is particularly light and elegant, and its author has put some serious effort into documenting it and offering tools to convert your HTML to its custom format. It’s short for vanilla JavaScript, by the way.. GitHub repo.

Tao Xin

JavaScript Scratchpad for VS Code (2m+ Downloads) — Quokka.js is the #1 tool for exploring/testing JavaScript with edit-continue experience to see realtime execution and runtime values.

Wallaby.js sponsor

Introducing Legend-State 1.0: Faster State for ReactAnother state management solution? After a year of effort, Legend State 1.0 claims to be the fastest option “on just about every metric” and they have the benchmarks to prove it. Whatever the case, this thorough intro is worth a look. GitHub repo.

Moo․do

Starry Night: GitHub-Like Syntax Highlighting — Apparently, GitHub’s own syntax highlighting approach isn’t open source, but this takes a similar approach and is. It’s admittedly quite ‘heavy’ (due to using a WASM build of the Oniguruma regex engine) but that’s the price of quality.

Titus Wormer

Garph 0.5: A Fullstack GraphQL Framework for TypeScript — Full-stack ‘batteries included’ GraphQL APIs without codegen. GitHub repo.

Step CI

headless-qr: A Simple, Modern QR Code Library — A slimmer adaptation of an older project without the extra code that isn’t necessary today. Turning the binary into an image is your job, or use something like QRCode.js if you want a canvas-rendered QR code out of the box.

Rich Harris

Scroll Btween: Use Scroll Position to Tween CSS Values on DOM Elements — Scrolling/parallax libraries tend to feel the same but this one demonstrates some diverse examples with colors, images, and text — all with no dependencies.

Olivier Blanc

eslint-plugin-check-file: Rules for Consistent Filename and Folder Names — Allows you to enforce a consistent naming pattern for file and directory names in projects.

Huan

Transformers.js 2.0 – Run Hugging Face transformers directly in browser.

PrimeReact 9.4 – Extensive UI component library.

The Lounge 4.4 – Cross-platform, self-hosted web IRC client.

Faast.js 8.0 – Serverless batch computing made simple.

???? Jobs

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

Fullstack Engineer at Everfund.com — Push code, change lives! Help us become the center for good causes on the modern web with our dev tools.

Everfund

????‍???? Got a job listing to share? Here’s how.

???? Go with the flow..

js2flowchart.js — A visualization library to convert JavaScript code into attractive SVG flowcharts. Luckily, there’s a live online version if you want to play without having to install anything.

Bohdan Liashenko

Flatlogic Admin Templates banner

The return of ECMAScript 2023 (and Angular)

#​634 — April 13, 2023

Read on the Web

JavaScript Weekly

The JavaScript Equality Table GameMinesweeper will feel like a walk in the park after this reminder of the horrors of JavaScript’s ==. If you need to go in depth, Section 7.2.14 of the ECMAScript spec will help, but otherwise? Stick to three equals (===) unless you have a good reason not to.

Reinis Ivanovs

htmx 1.9 Released — htmx (homepage) is an increasingly popular library outside of the JavaScript space as it lets folks use things like WebSockets, SSE, AJAX, and CSS transitions by marking up HTML rather than writing lots of JavaScript. v1.9 adds support for view transitions and generalized inline event handling. The code examples are worth a look – htmx makes a lot possible, with rather little tooling or markup needed.

htmx team

Supercharge AWS S3 Video Streaming with ImageKit’s Video API — Get adaptive bitrate streaming, video optimizations, format conversions, and real-time transformations and watermarking by attaching ImageKit with your AWS S3 bucket.

ImageKit sponsor

The ECMAScript® 2023 Language Spec Steps Forward — After prematurely announcing the progression of the ES2023 spec in February, we can now announce: TC39 has approved the ECMAScript 2023 spec, and while it remains a candidate, it’s now a step closer to eventual ECMA General Assembly approval. The finished proposals list for 2023 now includes Array find from last, hashbang support, Symbols as WeakMap keys, and change Array by copy.

ECMA International

IN BRIEF:

▶️ Angular is back with a vengeance, says Fireship.

Serverless platform AWS Lambda has introduced response streaming on its JS runtime (for now) so you can send response data as it becomes available rather than all at once. (→ Via Serverless Status)

/[]/ A look at a seemingly JS-specific quirk in regular expressions when empty character classes are used.

An analysis of languages used in GitHub pull requests shows JavaScript/TypeScript leading the way with Python just slightly behind. The comments went in lots of odd directions here.

Seven folks at Vue Amsterdam 2023 shared their ▶️ tips on getting started with Vue.js.

▶️ An hour-long chat on the State of Node.js with some leading figures.

Node v18.16.0 (LTS) has been released with backported support for compiling JavaScript code into a single executable app. Node 19’s Ada URL parser also appears.

A striking visual introduction to React and its fundamental concepts.

RELEASES:

Node.js v19.9 (Current)

Puppeteer v19.9 – It’s the week for almost 20s.

pnpm 8.2 – Efficient npm alternative.

Redwood 4.5 – Popular app framework.

Storybook 7.0 – With an official release post this time.

???? Articles & Tutorials

Ranger: Use a Range-Like Syntax for Anything? — const numbers = 1[[…8]], anyone? This is a neat trick for a bit of syntatic sugar, but I’m not sure it would pass the sniff test for most teams. You might find the implementation interesting to check out though. Long may this sort of experimentation continue.

Jon Randy

???? A proposal for JavaScript to get built-in range support is at stage 2.

????  Build and Deploy ‘23: May 3rd – Save the Date! — The ultimate CI/CD virtual conference – best practices and end-user success stories from DevOps experts. Plus, a keynote from Emily Freeman, author of DevOps for Dummies.

Codefresh sponsor

Trying Node’s Built-In Test Runner — In 2022, Node gained an experimental built-in test runner (node:test). It’s going to become stable in the forthcoming Node v20, so it’s a good time to look at how it works and how it compares to other solutions you might already be using.

Gleb Bahmutov

▶  The Right Way To Merge JavaScript Objects — In just one minute, too.

Jack Herrington

Ref vs. Reactive: What to Choose When Using Vue 3 Composition API?

Michael Hoffmann

How to Stream File Uploads to S3 Object Storage from Node.js

Austin Gil

How to Contribute to a Project You Have No Idea About

Michal Warda

???? Code & Tools

Reveal.js 4.5: An HTML Presentation Framework — Brings elegant presentations to anyone with a Web browser. v4.5 was just released with support for jumping to specific slides, a few new themes, and with live reload working with files in subfolders.

Hakim El Hattab

List.js: Add Search, Sort, Filters, and More to Tables and Lists — A handy library for adding search, sort, filters and flexibility to tables, lists or other HTML elements. Want an example? Why, of course.

Jonny Strömberg

????Quokka.js – #1 JavaScript Scratchpad for VS Code — With 2M+ downloads, Quokka.js is the #1 tool for exploring and testing JavaScript/TypeScript. Code runs immediately as you type.

Wallaby.js sponsor

Queue: Async Function Queue with Adjustable Concurrency — Exports a class Queue that implements most of the Array API.

Jesse Tane

Yet Another React Lightbox — Add a lightbox component to your projects “in minutes” – there are several examples to try, as well as a playground with adjustable settings. GitHub repo.

Igor Danchenko

Sandpack 2.6: Component Toolkit for Creating Live Code Editing Experiences — Created by the folks at CodeSandbox, so they surely know what they’re doing in this space. GitHub repo.

CodeSandbox

Easy to Use, Full-Stack Application Monitoring

TelemetryHub sponsor

TS Writer: A Template String Template Engine for Generating Code at Runtime — Rather niche, but aimed at situations where you might need to generate code at runtime in TypeScript.

tinylibs

Minimatch 9.0
↳ Glob matcher library.
     minimatch(“bar.foo”, “*.foo”)

hls.js 1.4
↳ Play HLS in browsers with support for MSE.

Partytown 0.8
↳ Relocate third-party scripts off the main thread.

Plasmo 0.68
“It’s like Next.js for browser extensions”

Obsidian 8.0 – GraphQL, built for Deno.

MUI X 6.1 – React component suite.

TestCafe 2.5 – Automate end-to-end web testing.

Maquette 3.6 – Lightweight virtual DOM library.

Venom 5.0 – WhatsApp bot library.

???? Jobs

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

Full Stack JavaScript Engineer @ Emerging Cybersecurity Startup — Small team/big results. Fun + flexible + always interesting. Come build our award-winning, all-in-one cybersecurity platform.

Defendify

????‍???? Got a job listing to share? Here’s how.

Flatlogic Admin Templates banner

JavaScript on your schedule

#​633 — April 6, 2023

Read on the Web

❓ JavaScript Weekly on a Thursday? It’s true. As well as it being Good Friday tomorrow, we’ve decided to move to Thursday permanently going forward. We hope you have a good Easter, if you celebrate it, otherwise enjoy one fewer email on Fridays ????
__
Your editor, Peter Cooper

JavaScript Weekly

Croner: Cron for JavaScript and TypeScript — Trigger functions upon the schedule of your choice using the classic cron syntax. Works in Node, Deno, Bun and the browser, across time zones, offers error handling and overrun protection, and more. There’s an interesting live demo on JSFiddle.

Hexagon

▶️ JSON vs XML with Douglas Crockford — The author of 2008’s hugely popular JavaScript: The Good Parts went on a podcast to share the story of JSON, his discovery of JavaScript’s ‘good parts’, and his general approach to building software, including his dislike of JavaScript ‘frameworks.’ There’s a transcript if you’re not keen on listening. (50 minutes.)

CoRecursive Podcast podcast

Headless CMS with World-Class TypeScript Support — Kontent.ai is the leading platform for modular content. Streamline your code using TypeScript SDK, CLI, Rich text resolver, and strongly typed model generator. Scale with no problems when your project grows. Have you seen our UI?

Kontent.ai sponsor

The Angular Signals RFC — There’s a lot of excitement about a shift in Angular involving the addition of signals as a reactive primitive – the official RFC is now available for this feature, and you’re encouraged to leave comments. If you’d rather see a practical use for signals, Joshua Morony recorded ▶️ a screencast showing them off.

Angular Team

Over 100 Algorithms and Data Structures Demonstrated in JS — Examples of many common algorithms (e.g. bit manipulation, Pascal’s triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations.

Oleksii Trekhleb et al.

IN BRIEF:

Laurie Voss looks at the most popular frameworks used in sites deployed to Netlify. React-based options lead the way.

Oliver Dunk of the Chrome Extensions Team has posted an update on the Manifest V2 to Manifest V3 transition – it’s taking longer than expected so Manifest V2 isn’t disappearing any time soon.

V8 v11.2 is shipping with support for WebAssembly tail calls.

With Chrome 113, Chrome is now shipping support for WebGPU.

A look at how Microsoft’s Blazor (a stack aimed at building front-end apps with C#) is skirting around JavaScript with its focus on WebAssembly.

JSDayIE 2023: The First JavaScript Conference in Ireland Is Back! — Join us on September 26th in Dublin to experience everything the Irish JavaScript community and Ireland have to offer.

JSDayIE sponsor

RELEASES:

Electron 24.0 – Complete with Chromium 112, V8 11.2, and Node 18.14.

Storybook 7.0 – Though still tagged ‘next’ and pending a proper launch.

Storybook for React Native 6.5

WebStorm 2023.1 – Commercial JS IDE from JetBrains.

Rete.js 2.0 Beta – Framework for building node-based editors.

???? Articles & Tutorials

Making a Big, Slow Vue/Alpine Page ‘Blazingly’ Fast — A practical example of a pattern the author is billing a “reactive switchboard.” “I’m going to use Vue/Alpine lingo in this article, but I think this pattern applies to lots of different tools.”

Caleb Porzio

▶  Watch Dan Abramov Explore React Server Components — At an epic (though well timestamped) four hours, this isn’t a quick watch, but Dan and Ben Holmes walk through everything React Server Components oriented, complete with diagrams, code, and a real-world app.

Ben Holmes

Getting PWAs in App Stores with PWABuilder — Thomas Steiner demonstrates how PWABuilder makes it possible to submit Progressive Web Apps (PWAs) to app stores like those provided by Google, Apple, and Microsoft.

Thomas Steiner (Google)

Add a Full-Featured Notification Center to Your App in Minutes

Courier.com sponsor

What Are Source Maps? — Learn how source maps can help you debug your original code instead of what was actually deployed after the build process.

Sofia Emelianova (Chrome Developers)

How I Used ChatGPT in My JavaScript Projects

James Q Quick

???? Code & Tools

Relaunching JSPM CLI for Import Map Package Management — Several years ago when JS had numerous competing module formats, JSPM was a useful package manager atop SystemJS, but now it’s being relaunched as an import map package management tool.

Guy Bedford

Chrome Extension CLI 1.4: CLI for Building Chrome Extensions — Want to get building an extension for Chrome as quickly as possible? This Node-powered tool aims to get you on the right path ASAP. v1.4 adds a script to generate a ZIP file (also known as a ‘postcode file’ at Microsoft UK? ????) of the extension.

Dutiyesh Salunkhe

React Chrono 2: A Flexible Timeline Component — A complete overhaul of a popular component. You can render themeable timelines in vertical, horizontal, or vertical alternating orientations. It includes keyboard navigation support, auto advancement, and, as of v2, support for nested timelines.

Prabhu Murthy

Dynaboard: A Visual Web App IDE Made for Developers — Build high performance public and private web applications in a collaborative — full-stack — development environment.

Dynaboard sponsor

Jampack: A Post-Processing Tool to Optimize Static Websites — Similar to a bundler or build tool, with features like image optimization, asset compression, and some code auto-fixes — all amounting to strong Core Web Vitals scores.

divRIOTS

imask.js 6.5.0: A Vanilla JavaScript Input Mask — Prevent users from entering invalid values. Has plugins for Vue, Angular, React, Svelte, and Solid, if needed.

imaskjs

tween.js 19.0
↳ JS tweening engine for easy animations.

Swiper 9.2
↳ Modern mobile-friendly touch slider.

gridstack.js 7.3
↳ Dashboard layout and creation framework.

ReacType 15.0
↳ Visual prototyping tool that can export React apps.

xstyled 3.8
↳ Utility-first CSS-in-JS framework for React.

Spacetime 7.4.2
↳ Lightweight timezone library.

???? Jobs

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

Full Stack JavaScript Engineer @ Emerging Cybersecurity Startup — Small team/big results. Fun + flexible + always interesting. Come build our award-winning, all-in-one cybersecurity platform.

Defendify

????‍???? Got a job listing to share? Here’s how.

???? Wise Words of the Week

A reminder from Vue.js’s Evan You that we live in a vast and varied world, including in the JavaScript ecosystem:

Flatlogic Admin Templates banner

Building a CRM System: Does CRM Require Coding?

Are you curious to learn if CRM requires coding? Researching for answers to questions like do I need to know how to code to use a CRM system? What coding language is used for CRM systems? How difficult is it to learn CRM coding? Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is the most important. 

Understanding the complexities of Customer Relationship Management (CRM) requires an in-depth knowledge of how businesses interact with customers. This includes how data is collected, stored, and used to improve customer experience. With a good background in coding, businesses can create custom CRM solutions that are tailored to their customer base.

By reading this article you will learn what is CRM system, does it requires coding and the key benefits. Also, we provided our top 10+ CRM systems in 2023 that don’t require coding. Let’s dive deeper into it!

What is CRM System and Does It Require Coding?

The answer to the question “Does customer relationship management require coding?” is “No, it does not” when it comes to maintaining client relationships.

Customer relationship management (CRM) is an effective technology used by businesses to better manage their interactions with prospects and customers. While some CRM systems need coding to be utilized, most do not. The majority of CRM systems are made with an intuitive, user-friendly interface that enables users to manage their customer interactions quickly and effectively without any coding knowledge. This enables even individuals with a minimal level of technical experience to utilize CRM systems to their fullest potential.

Benefits of CRM

CRM systems have several benefits and may assist your business in a variety of ways. Let’s dive deep into the key benefits that CRM could provide.

Benefit #1. Improved customer service

CRM systems were created to enhance relationships between businesses and their customers, and that is still its primary advantage. Tracking customers’ information such as demographics, purchasing history, and messages sent through all channels, allows businesses to gain easy access to all the information they need about their customers. This ensures that employees have all the necessary information to provide a superior customer experience, resulting in higher customer satisfaction.

Benefit #2. Increased sales

Using CRM systems can help you optimize your sales process, create a well-defined sales pipeline, automate time-consuming tasks, and gain visibility into all of your sales data. This can potentially result in increased sales and productivity. You can use CRM to define a dependable sales process that can be modified as needed. It also automates tasks such as lead nurturing and follow-up emails, saving time for your team. Finally, you can use the CRM to track and analyze your sales data, making it easier to find opportunities for improvement and maximize your sales.

Benefit #3. Improved customer loyalty

After you have acquired and converted leads, it is important to keep them as customers and foster customer loyalty. Low customer retention can have harmful effects on your business, such as reduced revenue or a disrupted cash flow. Utilize your CRM and the data it provides about your customers to promote repeat business. The CRM will offer sentiment analysis, automated ticketing, customer support automation, and user behavior tracking to help identify issues and promptly handle them with your customers.

Benefit #4. Extensive analytics

Having plenty of data about your customers is essential, but it is equally important to be able to interpret it and use it to your advantage. CRM systems can help you make sense of the data by providing built-in analytic capabilities. This allows for a deeper understanding of the data, as it is broken down into understandable metrics such as click-through rates, bounce rates, and demographic information. With this knowledge, you can measure the success of your marketing campaigns and make adjustments as needed.  

Benefit #5. Higher efficiency and productivity

CRM software utilizes marketing automation technology to streamline mundane tasks such as drip campaigns, allowing employees to focus on more complex work. This technology can help make sure that nothing falls through the cracks by ensuring that all important emails are sent to the appropriate recipients. Furthermore, CRM software provides a dashboard displaying how your business is running and where your processes can be optimized.

Benefit #6. Information database centralized

CRM software is great for helping businesses manage their customer relationships, providing a single, centralized database with all the information about customers that anyone in the company needs. Sales reps can quickly and easily see what products a customer has shown interest in if the customer has interacted with the company before, records of those interactions will be included in the CRM, which can be used to inform future marketing and sales strategies. This eliminates the need to search through old files and records and ensures a smoother and more efficient customer experience.

Benefit #7. Maintaining communication with prospective leads

Lead nurturing can be a time-consuming and complicated endeavor, with many steps and chances to communicate. Utilizing a CRM simplifies the process, notifying your staff when it is time to contact the prospect and recording every point of contact, from emails to phone calls.

Benefit #8. Improved customer segmentation

Having hundreds of contacts can be daunting and overwhelming. For instance, how do you determine which customers should get your email regarding your new product in-store? A CRM can automatically categorize your contact lists based on your chosen criteria, making it easier to find the ones you need to contact whenever it is needed. You can arrange contacts by place, gender, age, buyer stage, and other factors.

Benefit #9. Automated sales reports

The CRM software’s dashboard and reporting features make it easy for your team to collect and organize data about prospective and current customers. It also helps employees automate and manage their pipelines and processes. With the CRM, team members can track their quotas and goals, evaluate their performance, and check their progress on each project with ease.

Benefit #10. Improved sales forecasting

CRM software’s automated sales reports allow you to review your past performance and strategically plan for the future. With these reports, you can identify trends and gain insight into the potential of your future sales cycle performance. This information can help you adjust your goals and metrics accordingly. 

Benefit #11. Improved internal communication

A CRM not only helps your business communicate with customers but also allows your employees to communicate more effectively with each other. Through the CRM, employees can stay up-to-date on customer interactions, maintain a consistent brand voice, and send notes, alerts, messages, and emails in one easy-to-use system.

Top 10+ CRM Systems That Don’t Require Coding in 2023

Salesforce

When looking for the top CRM applications, you’ll likely come across Salesforce as one of the top choices for small businesses. What makes this software stand out is that it recognizes that businesses have different requirements, unlike other CRM solutions which offer bundles of features. With Salesforce, users can pick and choose which features they need, and can always add or remove features as needed. 

Flatlogic

Flatlogic provides a simple method for developing a custom CRM solution with complete control over the source code and scalability. An all-in-one CRM software, Flatlogics, aids businesses in streamlining their customer interaction and support procedures. It includes effective tools for automating marketing and sales processes as well as managing contacts, leads, and sales possibilities. Moreover, it has capabilities like data visualizations, tailored and automated emails, and automatic client segmentation. Businesses may monitor client interactions, foster connections, and streamline manual procedures using Flatlogics CRM to increase customer satisfaction.

Zoho CRM

Zoho was a cloud-based CRM platform, but over the years, it has evolved to become an all-in-one suite to help businesses manage their invoicing and customer management needs. Though not open-source, it can be integrated with other platforms via third-party apps. For example, Zapier can be used to connect to eCommerce platforms like Shopify. For small businesses, the Standard plan is recommended, which offers custom reports and analytics, lead scoring, webhooks, and more. This plan is suitable for startups or new businesses.

HubSpot CRM

In 2014, HubSpot launched its free CRM service, broadening its reach in a fresh direction. With this expansion, you can now seamlessly integrate marketing and sales operations into one platform. The HubSpot suite is not only ideal for running inbound marketing campaigns but also for enhancing customer connections and driving more sales. Moreover, the unlimited team feature enables multiple users to come together and form a productive team. Upon signing up for the HubSpot CRM forever free plan, you can choose your level of expertise with CRM software. Subsequently, you can gain a comprehensive orientation of the software and begin importing your earlier data, sorting contacts, and inviting team members. The HubSpot dashboard collection consolidates sales, marketing, service, and CMS, making it easy to manage. Additionally, you can take advantage of six unique sales reports that help track your monthly progress and keep the contact information organized in a centralized, customizable database. As a bonus, HubSpot CRM offers advanced features such as email tracking, deal pipelines, messenger integrations, and email templates – features not typically found in other free CRMs.

Bitrix24

If you’re searching for a free and open-source CRM, Bitrix24 is a great option. Even though the open source side is handled by a Bitrix24 partner, the cost-free features it provides are what make it such an attractive choice. It offers limitless feature records, sales tracking, email marketing, and more – all without charging a top-dollar price. With over 7,000,000 companies using Bitrix24, it has become a go-to tool. The only downside is the learning curve (even with the paid version) compared to platforms like Freshsales. Despite this, it is an ideal CRM software for small businesses that need collaboration software that doesn’t break their budget and still offers almost all of the advanced features. With this in mind, it’s an excellent choice for improving collaboration and communication, as well as managing clients with ease. 

Pipedrive

Pipedrive is an easily accessible CRM tool. It provides detailed sales-based reporting tools and a visually appealing user interface that makes it simple to track leads and contacts. The platform also offers automated call tracking and a chatbot feature, allowing for improved communication both internally and externally. This makes Pipedrive an ideal CRM tool for small to medium-sized businesses, providing a comprehensive solution that covers most of their needs. 

Insightly

Insightly is a great and budget-friendly option for businesses looking for an easy, free, and open-source CRM. It offers fast onboarding and a free lifetime plan and a comprehensive tracking system, perfect for newcomers. While it may have slightly fewer features than some of its competitors, Insightly is an excellent tool for carefully managing customer relationships and monitoring the sales pipeline to gain more insights into the sales process. The main dashboard provides detailed stats on sales and pipelines, and you can store up to 25,000 records, including contacts, leads, organizations, reports, and projects. All in all, I believe Insightly is a sensible choice for those who don’t need a lot of features and are looking to get started on a CRM right away.

Apptivo

Apptivo is an award-winning cloud-based CRM software that provides users with an extensive suite of 50+ applications to help them reduce inaccuracies, save time, and get access to essential information and tools to collaborate with their customers more effectively. This software offers a variety of services such as CRM, project management, invoicing, and much more. With over 200,000+ users, Apptivo is one of the most popular CRMs. It also offers plenty of integrations and solutions that make it stand out from the rest

SugarCRM

With over 50,000 companies using it and 7 million downloads, SugarCRM is one of the most sought-after CRM applications on the market. The application is available in 9+ languages and is capable of accommodating organizations of all sizes, from small startups to those with more than 10,000 employees. Open-source in nature, this CRM is highly customizable and adaptable to different structures and hierarchies. As such, it requires a dedicated team to manage, operate and maintain its smooth functioning. 

Nutshell

With Nutshell, you can streamline your sales process and optimize your efficiency. It has a variety of views to help you manage your leads and sales, including board view, chart view, list view, and map view. This powerful yet simple CRM tool is used by over 25,000 business professionals around the world to keep track of their customer data. 

Freshsales

Freshsales is a great option for those looking for a free and open-source CRM software suite. Focusing solely on scalability and sales, Freshsales can be used to engage with customers, close deals, and attract new sales. The free forever plan offers unlimited users, contacts, and premium support, including email, chat, and phone support. However, Freshsales Free is missing out on some advanced features like email tracking, behavior analytics, and reports. Though there is a minimal learning curve, it is best for startups, and not necessarily the best choice for small to mid-sized businesses. Overall, Freshsales is a good CRM to start with for getting a new lead and nurturing it throughout its life cycle. 

Copper

Those seeking essential features in CRM software such as email marketing, calendar/reminder systems, and client tracking should consider Copper. It offers a direct import of records from Gmail communications and allows users to sync meetings with contacts. Additionally, Copper’s integrations with most common applications such as Intuit Quickbooks, Slack, DocuSign, Zapier, and Mailchimp are especially beneficial for G Suite users. 

Summing Up

Although the major part of CRM software is created for non-technical users, coding experience is often not necessary. Businesses of all sizes may utilize CRM software to manage client contacts, streamline procedures, and enhance customer service thanks to pre-built templates, automated workflows, and drag-and-drop interfaces. Coding skills may be required for more intricate adaptations, such as unique integrations or reports.

The post Building a CRM System: Does CRM Require Coding? appeared first on Flatlogic Blog.

Flatlogic Admin Templates banner

5+ Tips For Building Custom Headless CMS

Are you looking to build a custom headless CMS (Content Management System) but don’t know where to start? Wondering what are the advantages of a headless CMS? What are the best tools and technologies to use? What are the steps to creating a custom headless CMS? Web development is an activity of trust. 

Headless CMSs are becoming increasingly popular and are used by many companies to power their websites and applications. They allow for greater flexibility in how content is presented and can be used to create personalized experiences for users. Building a custom headless CMS can be a complex and time-consuming process, but it is possible to do it yourself with the right tools and knowledge. 

In this article, we’ll discuss what a headless CMS is, the benefits of building a custom headless CMS, and how to build one. Whether you’re a seasoned web developer or just starting, this guide will provide the information you need to get started on your own custom headless CMS.​​

What is a Headless CMS? 

CMS stands for Content Management System, which is a kind of software that enables non-technical individuals to create, manage, and alter material on websites. With a CMS, you may make a website without having to start from the beginning with the coding (or even know how to code at all).

Headless CMS is a type of content management system that separates the content from the presentation layer. With a traditional CMS, the content is stored and managed in the same system as the presentation layer, meaning that any changes made to the presentation layer will affect the content that is stored. With a headless CMS, the content is stored and managed separately from the presentation layer, allowing developers to make changes to the presentation layer without affecting the content. This allows for greater flexibility in how the content is presented to users. 

What is the Difference Between Traditional CMS And Headless CMS?

Traditional CMS aims to be a single solution to managing both the content and the frontend, whereas a headless CMS deals strictly with the content and has no impact or input on the frontend. Content created and edited in a headless CMS is published via an API, providing the flexibility to get the content out in as many ways as possible regardless of how it’s presented.

Why Choose Headless CMS?

Headless CMS is a content management system where the backend and frontend are fully disconnected, having no front end at all. Its main advantage is that it allows content to be distributed to multiple channels and devices through API endpoints. This means content can be pushed to phones, smartwatches, tablets, IoT devices, CRMs, digital signage, and more. A Headless CMS is an ideal solution for businesses that need to publish content to various places.

Reasons to choose a headless CMS to include its ability:

Simplify upcoming redesigns.
Provide users with a better, more individualized experience.
Improve front-end production performance.
Developers and designers should have more freedom and flexibility. 

Headless CMS offers a great advantage to developers as it allows them to use the latest technologies to create a future-proof digital experience, due to its compatibility with any frontend presentation layer or device.

Benefits of Building a Custom Headless CMS 

Headless CMS is gaining popularity as a content management system due to its many advantages over traditional CMS. Because a headless CMS shifts the responsibility of the user experience onto the client (such as a browser or an app), it offers several benefits. These include increased flexibility, scalability, and customizability, as well as decreased time and cost of development. With a headless CMS, organizations can create content that can be used across multiple platforms and devices, which allows for a more consistent user experience. Additionally, headless CMSs are more secure and easier to maintain.

Benefit #1 – Flexible Development 

Headless technology allows developers to create apps, sites, and solutions on multiple platforms using their preferred programming languages, without being tied to any specific frontend technology.

Benefit #2 – Improved Experiences 

Frontend developers can be freed from the constraints of backend structures, providing them with more time and resources to create richer, more responsive digital experiences.

Benefit #3 – Increased Speed

Presenting to the client differently makes it possible for backend processes to function more quickly and efficiently than ever before.

Benefit #4 – Low Costs 

The cost of a headless CMS is usually less than that of a traditional CMS, depending on the customer’s choices, the complexity of the setup, and the chosen business pricing model.

Benefit #5 – Reduced Time to Market 

By separating the frontend from the backend, the time it takes to develop a product can be significantly reduced. This same principle can be applied to the content creation team, allowing them to focus on the content itself rather than how it will appear on different frontend layers. This also allows for one source to be used and reused.

Benefit #6 – Ease-to-Use

Headless CMS is essentially a database, meaning that it may offer fewer options in terms of switches and sliders for content creators. This is because the focus is on the content itself, rather than on a wide range of presentation options.

Benefit #7 – Flexibility

Developers can take advantage of the headless API to extract data from their desired clients with great versatility.

Benefit #8 – Cloud Scalability

Cloud-readiness is a key feature of most headless systems, allowing them to scale to meet long-term growth and accommodate traffic surges through the use of multiple environments, clusters, CDNs, and other advanced technologies.

Benefit #9 – System Security

Security concerns must be resolved by the business. Moreover, the API is frequently hidden behind several lines of code and is typically just accessible for reading. Last but not least, a headless CMS administrator is often situated on a separate server and domain from the main platform.

What to Consider While Choosing a Custom Headless CMS?

After you have settled on the decision to go headless, a few important things must be taken into consideration. One of which is this important question: Out of the many headless CMS systems out there, which one should you choose? This is a decision that should not be taken lightly, but there is no need to be overwhelmed. With any software selection, there are a lot of features and components to think about, but these five are essential when selecting a headless CMS.

1. Business Needs

Consider what your business needs from a headless CMS, and take stock of what key stakeholders are looking for in a content management system. What channels and devices does your organization need to publish content to? What do the marketing and development teams hope to get out of a CMS? As headless CMSs tend to be more technically demanding than traditional systems, the development team will be essential in delivering the desired digital experience. Evaluate the different headless CMS options to ensure everyone’s needs are met.

2. Developer functionality and ease of use 

When deciding on a headless CMS, you must consider your development team’s buy-in, as well as the usability of developers. The development team will select the frontend coding and user interface frameworks, but it is crucial to evaluate the native SDKs and APIs utilized on the backend. Features such as mature REST APIs, secure and preview APIs, and content management APIs are essential to review. Moreover, consideration should be given to issues like the maximum number of API calls and the availability of GraphQL data manipulation and queries. To further improve usability for developers, make sure that the system’s native SDKs are compatible with the coding frameworks, languages, and technologies preferred by the development team.

3. Omnichannel capability 

Headless CMS’s omnichannel capability is one of its most important features. It’s important to understand what this cross-channel publishing capability entails, and which channels are most relevant to your organization. Websites and mobile apps are essential, but if you need to reach less conventional outputs such as IoT devices, digital signage, and voice-controlled UIs, it’s important to have APIs on the back end that are ready to support these channels. A good headless CMS will have content APIs that can push headlines, imagery, body copy, and other content to various channels in the appropriate format for the device or interface. It should also generate the metadata needed to ensure your content is visible across all platforms. For instance, Drupal can generate schema.org tags to optimize content for voice search.

4. Content and authoring role workflow 

No matter how advanced the technical features of a CMS are, the content should remain the focal point. Depending on the CMS, the creation and authoring role processes can vary, so make sure to select the one that best fits the needs of the authors and editors who will be responsible for populating it. For larger organizations with multiple users, the system should be able to provide different access permissions and should be taken into account when considering the cost. Additionally, the CMS should support multiple workflows to ensure the content is properly managed. Lastly, check the system’s ability to preview content across multiple devices to make sure it meets the requirements.

5. Technical and sales support 

When it comes to content management systems, just like any other software solution, technical and sales support is essential. Developers on-site may be able to handle many issues but occasionally you will need to get in touch with the client for help. To avoid future difficulties, make sure the CMS provider you choose has adequate support staff that can be accessed 24/7 throughout the year.

Cost of Custom Headless CMS

It can be difficult to accurately estimate the cost of a headless CMS, due to the often hidden nature of SaaS businesses and their request-based pricing model. Before deciding, you should carefully consider the projected lifetime cost of the system, and whether it will be worth the investment in the long run. Make sure to know how your desired solution is priced, what factors can affect the cost, and what the estimated lifetime cost of the solution is. 

Beware of promises that seem too good to be true; although headless CMS can be inexpensive to start with, they can require extra resources as traffic increases. Most headless CMS solutions are on par with traditional content management systems in terms of cost. Depending on the business, you might also have to purchase additional solutions to complement the database, such as a presentation layer. On the other hand, some modern headless CMS have presentation layers already built in, reducing the need for extra solutions and thus the overall cost.

How to Build a Custom Headless CMS 

Creating a custom headless CMS can be a daunting task, but with the right tools and knowledge, it is possible to do it yourself. Flatlogic Platform offers a simple solution to create a custom headless CMS system, granting you full control over your source code. With no-code development, you can customize your system to match the needs of your business without needing to be a coding pro. As your business evolves, you can scale and adjust your CMS with ease due to the flexibility that the Flatlogic Platform offers. Enjoy the scalability of a traditional system with the tailored features that you need – with Flatlogic Platform.

How to Create Custom Headless CMS with Flatlogic Platform?

Using the Flatlogic Full-Stack Generator you can create CRUD and static applications in a few minutes. To start using the Platform, you need to register on the Flatlogic website. Clicking the “Sign in” button in the header will allow you to register for a Flatlogic account.

Step 1. Choosing the Tech Stack

In this step, you’re setting the name of your application and choosing the stack: Frontend, Backend, and Database.

Step 2. Choosing the Starter Template

In this step, you’re choosing the design of the web app.

Step 3. Schema Editor

In this step, you can create your database schema from scratch, import an existing schema or select one of the suggested schemas. 

To import your existing database, click the Import SQL button and select your .sql file. After that, your database will be opened in the Schema Editor where you can further edit your data (add/edit/delete entities).

If you are not familiar with database design and find it difficult to understand what tables are, we have prepared some ready-made sample schemas of real applications that you can modify for your application:

E-commerce app;
Time tracking app;
Book store;
Chat (messaging) app;
Blog.

Or, you can define a database schema and add a description by clicking on the “Generate with AI” button. You need to type the application’s description in the text area and hit “Send”. The application’s schema will be ready in around 15 seconds. You may either hit deploy immediately or review the structure to make manual adjustments.

Next, you can connect your GitHub and push your application code there. Or skip this step by clicking the Finish and Deploy button and in a few minutes, your application will be generated.

Conclusion 

Headless CMS provides a combination of a database and an API for distributing content to any channel, making it an unbeatable choice for an ever-changing digital landscape. Although there are challenges to this technology, smart strategies, and next-generation capabilities can help to overcome them. Flexibility will be essential for future success, allowing businesses to choose the components that best suit their needs.

The post 5+ Tips For Building Custom Headless CMS appeared first on Flatlogic Blog.

Flatlogic Admin Templates banner

Playwright now offers a UI mode

#​631 — March 24, 2023

Read on the Web

JavaScript Weekly

Speeding Up the JavaScript Ecosystem: npm Scripts — The latest in what has been a fascinating series on finding ‘low hanging fruit’ when it comes to performance in the JavaScript world. The author explains it best himself:

“‘npm scripts’ are executed by JavaScript developers … all the time. Despite their high usage they are not particularly well optimized and add about 400ms of overhead. In this article we were able to bring that down to ~22ms.”
What Marvin does here is a valuable skill for all developers to pick up, and you can enjoy more by going back to the start.

Marvin Hagemeister

Playwright v1.32 – Now with UI Mode — The popular Web testing and automation framework is taking more steps toward ground currently served by tools like Cypress by offering a ‘UI mode’ that lets you explore, run and debug tests in a UI environment, complete with watch mode. ▶️ This video provides a good introduction.

Microsoft

A Grid Component with All the Features & Great Performance — Try our powerful JS data grid component which lets you edit, sort, group and filter datasets with fantastic performance. Includes a TreeGrid, API docs and plenty of demos. Seamless integration with React, Angular & Vue apps.

Bryntum sponsor

Why We Added package.json Support to Deno — Deno shares some provenance with Node.js but till recently it hadn’t focused on supporting Node features like npm modules. But with Node and npm compatibility beginning to improve, the team has faced questions about the runtime’s priorities. Ryan Dahl explains more about their thinking here.

Ryan Dahl

???? In other Deno news, Deno 1.32 has been released with… improved package.json support, and more.

How to Start a React Project in 2023 — There are lots of ways, but this well-regarded author explains the pros and cons of a few approaches, and gives you a few options targeting specific use cases you might have.

Robin Wieruch

IN BRIEF:

GitHub had to update its RSA SSH host key today so you may see security related warnings when pushing and cloning. It’s easy to fix, but check the new fingerprint matches – it’s for your own security.

The New Stack caught up with Svelte’s Rich Harris on SvelteKit and what’s coming for Svelte 4.

The React team shared some cutting edge updates on what they’re working on including React Server Components and an optimizing compiler.

If you were experiencing errors on the official Node site last week, here’s the (detailed) post mortem of why. Config errors and inappropriate caching, mostly.

✨ Did you know there’s a market in fake GitHub stars? Some developers analyzed some repos to learn more about it.

???? Congratulations to Lea Verou on her TC39 appointment. Her efforts to push the Web forward are legendary. Prism is one project you may be aware of.

Make your opinions known on what should be in the next version of Vite.

RELEASES:

Docusaurus 2.4
↳ Easy to maintain documentation site generator.

Puppeteer 19.8
↳ Headless Chrome Node.js API.

Neutralinojs 4.11
↳ Lightweight cross-platform desktop app framework.

Qwik 0.23

???? Articles & Tutorials

Buying a Hard-to-Get Bicycle using Playwright — An unusual use case for JavaScript, Playwright, and GitHub Actions, but Maciek managed to buy his bike.

Maciek Palmowski

Snyk Top 10: JavaScript OSS Vulnerabilities — Dive into the most prevalent critical and high open source vulnerabilities found by Snyk scans of JavaScript apps in 2022.

Snyk sponsor

The ‘End’ of Front-End Development? — A recent narrative doing the rounds suggests that large language models like GPT-4 (or even tools like Copilot X) could soon put some developers out of a job — however, Josh is “optimistic about what these AI advancements mean for the future of software development”.

Josh W. Comeau

In related news, Eric Elliott put ChatGPT through its paces to see if it would make for a good JavaScript tutor. It did well — though with mixed results.

Migrating from ts-node to Bun — A look at adopting performance-oriented Bun when you’re used to using TypeScript with Node.js. John runs us through porting a console app from the ts-node approach over to Bun — “a pretty easy process,” he says.

John Reilly

▶  A Pinia Crash Course for BeginnersPinia is a store / state management solution for Vue that does believe in pineapple on pizza.

Alexander Gekov

A Practical Guide to Getting Started with Astro — An extensive walkthrough of Astro that covers all the topics you’ll need to get you started.

Mojtaba Seyedi

???? Test Website Speed Continuously and Rank Higher In Google — You need a fast website to make users happy and meet Google’s Core Web Vitals metrics. Test and optimize with DebugBear.

DebugBear sponsor

Automatic npm Publishing with GitHub Actions and Granular Tokens

Tim Perry

Make Sure You Do This Before Switching to Signals in Angular

Jordan Powell

Six CSS Snippets Every Developer Should Know

Adam Argyle (Google)

???? Code & Tools

trace.cafe: Easy Webperf Trace Sharing — A quick way to share a performance profile saved from your DevTools, available for up to 90 days with the DevTools perf panel embedded (see example).

paul irish

VueUse: A Collection of Vue Composition Utilities — With over 200 functions targeting both Vue 2 and 3, there’ll be something in this suite of Composition API-based utility functions for you, whether it’s working with state, browser capabilities, animations, Electron, Firebase, and more.

Anthony Fu

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

OTPAuth: One Time Password (HOTP/TOTP) Library — When you log in to a site that uses 2FA and you’re asked for some digits from an authentication app, that’s probably a Time-based One-Time Password (or TOTP). This library for Node, Deno, Bun and the browser lets you work with TOTPs and HOTPs from JS.

Héctor Molinero Fernández

Recharts 2.5: Chart Library Built with React and D3 — Easy to deploy with declarative components, native SVG support, and lightweight dependency on D3. Line, bar, scatter, composed, pie, and radar charts are offered. There are lots of examples, complete with code.

recharts

DOCX 8.0: Generate Word .docx Files from JavaScript — The code to lay out documents is verbose but there’s a lot of functionality. Here’s a CodePen example and release notesGitHub repo.

Dolan Miu

SvHighlight: Code Syntax Highlighter for Svelte — Powered by Highlight.js, it includes a blurring feature to focus attention on specific areas of code and you an customize it with Tailwind. Try the interactive examples to see the effect.

SvHighlight

eslint-formatter-pretty 5.0: Pretty ESLint Formatter — Nicer output than the default. Sort results by severity. Get stylized inline code blocks, and more.

Sindre Sorhus

AWS JWT Verify: Verify JWTs Signed by Amazon Cognito — In both Node.js and the browser.

Amazon Web Services

???? Jobs

Software Engineer (Backend) — Join our “kick ass” team. Our software team operates from 17 countries and we’re always looking for more exceptional engineers.

Sticker Mule

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

????‍???? Got a job listing to share? Here’s how.

melonJS 15.0
↳ Mature HTML5 game engine.

Marked 4.3
↳ Markdown parser and compiler. (Demo.)

v8go 0.9
↳ Execute JavaScript from Go(lang).

Million 2.1
↳ Fast Virtual DOM to make React faster.

Partytown 0.7.6
↳ Take third-party scripts off the main thread.

???? Bonus Item

Make Bookmarklets — Create and test bookmarklets directly in the browser. Makes an irritating task slightly easier if you need to do it.

Cullan Luther

Flatlogic Admin Templates banner

jQuery 3.6.4 Released: Selector Forgiveness

If you’ve been following along with recent jQuery releases, we have been working on how to address the recent addition of some new selectors in browsers, especially :has. jQuery 3.6.3 settled on the strategy of using native CSS.supports to determined whether a selector should be passed directly to querySelectorAll or instead go through jQuery’s selector engine, as might be the case when using jQuery selector extensions, complex :not(), or other selectors that are valid in jQuery but not in the browser. That all technically worked fine, but came with a downside. Fortunately for us, the fix is no longer necessary and we can go back to the old way. More on that below.

As usual, the release is available on our cdn and the npm package manager. Other third party CDNs will probably have it soon as well, but remember that we don’t control their release schedules and they will need some time. Here are the highlights for jQuery 3.6.4.

The Difference Between What Is Right and What Is Allowed

Whenever you use a selector in CSS, or JS, there is more than one spec involved. There’s a spec to determine whether a selector is valid (i.e. Selectors) and there’s a spec to guide implementers in how a selector should be parsed (i.e. the parser algorithm for consuming a simple block). The parser implementation is more forgiving than the selector spec itself, to allow for things like attribute selectors missing the last ] character.

When we addressed an issue with some selectors that were being added to modern browsers—specifically :has—we started making use of another API available in most of our supported browsers—CSS.supports—to determine whether a selector could safely be passed to native querySelectorAll or whether it needed to go through jQuery’s selector engine. Selectors may need to bypass qSA for multiple reasons. It may be a jQuery-only selector extension (:contains), a standard selector that jQuery supports in a more robust way (:not(complex)), or a selector we know to be buggy sometimes (:enabled or :disabled). Whatever the reason, the introduction of “forgiving parsing” in selectors like :has made our previous way of determining that an issue because the browser would no longer throw errors for some truly invalid selectors. For instance, :has(:contains) no longer threw an error when passed to querySelectorAll. Neither did :has(:monkey) for that matter. CSS.supports seemed to be the answer.

And yet, every solution can have a trade-off. The problem now was that selectors that were technically invalid according to the Selectors spec were throwing errors. But these same selectors used to work fine because the parsers were more, for lack of a better term, forgiving. Essentially, CSS.supports is not as forgiving as the parser.

Meanwhile, in our discussions with spec writers and vendors, it was agreed that we needed to prevent issues similar to the one with :has from happening again in the future. What does that mean? It means we can go back to the old way . . . mostly. While the spec has been updated, browsers will need some time to update their implementations. And because of that, we still recommend upgrading jQuery to the latest version.

Upgrading

We do not expect compatibility issues when upgrading from a jQuery 3.0+ version. To upgrade, have a look at the new 3.5 Upgrade Guide. If you haven’t yet upgraded to jQuery 3+, first have a look at the 3.0 Upgrade Guide.

The jQuery Migrate plugin will help you to identify compatibility issues in your code. Please try out this new release and let us know about any issues you experienced.

If you can’t yet upgrade to 3.5+, Daniel Ruf has kindly provided patches for previous jQuery versions.

Download

You can get the files from the jQuery CDN, or link to them directly:

https://code.jquery.com/jquery-3.6.4.js

https://code.jquery.com/jquery-3.6.4.min.js

You can also get this release from npm:

npm install [email protected]

Slim build

Sometimes you don’t need ajax, or you prefer to use one of the many standalone libraries that focus on ajax requests. And often it is simpler to use a combination of CSS and class manipulation for web animations. Along with the regular version of jQuery that includes the ajax and effects modules, we’ve released a “slim” version that excludes these modules. The size of jQuery is very rarely a load performance concern these days, but the slim build is about 6k gzipped bytes smaller than the regular version. These files are also available in the npm package and on the CDN:

https://code.jquery.com/jquery-3.6.4.slim.js

https://code.jquery.com/jquery-3.6.4.slim.min.js

These updates are already available as the current versions on npm and Bower. Information on all the ways to get jQuery is available at https://jquery.com/download/. Public CDNs receive their copies today, please give them a few days to post the files. If you’re anxious to get a quick start, use the files on our CDN until they have a chance to update.

Thanks

Thank you to all of you who participated in this release by submitting patches, reporting bugs, or testing, including Michal Golebiowski-Owczarek and the whole jQuery team.

We’re on Mastodon!

jQuery now has its very own Mastodon account. We will be cross posting to both Twitter and Mastodon from now on. Also, you may be interested in following some of our team members that have Mastodon accounts.

jQuery: https://social.lfx.dev/@jquery

mgol: https://hachyderm.io/@mgol

timmywil: https://hachyderm.io/@timmywil

Changelog

Full changelog: 3.6.4

Build

Update Sizzle from 2.3.9 to 2.3.10 (#5194, dbe09e39)
Updating the 3.6-stable version to 3.6.4-pre. (a0d68b84)

Flatlogic Admin Templates banner

Why Do Some Programmers Say Frontend Is Easier Than Backend?

So, you’re wondering if frontend development is easier than backend development. Truth be told, the question is rather challenging. Frontend and backend development are two somewhat complicated aspects of web development in 2023. Fortunately for you, we’ll determine which type of development is more challenging in this article: frontend or backend! 

Do you ever wonder why so many backend developers say that frontend is easier? Discover the answer to this and many other related questions in this article! Have you ever asked yourself questions like What makes frontend easier than backend? What skills are needed to become a successful frontend developer? or What techniques do developers use to make the frontend development process easier?  

It is well known that backend development is more difficult than frontend development. A study by the University of Oxford found that “Backend developers tend to have a higher workload than frontend developers, due to the complexity of the programming language used”. The same study also noted that “The complexity of the backend language also means that backend developers need to have a higher level of technical knowledge than frontend developers”. 

In this article, you will learn why so many backend developers say that frontend is easier, what skills are needed to become a successful frontend developer, and what techniques are used to make the frontend development process easier. After reading this article, you will have a better understanding of why frontend is easier than backend and why it is important to learn both. 

Is Frontend Development Easier Than Backend?​​

During the past decade, frontend development has grown in popularity as more engineers switch from backend development to frontend. Due to its greater availability and perception as being “easier” than backend development, frontend programming has the propensity to be used more frequently. The primary reason so many developers like the frontend are its simplicity. Frontend development has a lower learning curve and calls for less technical knowledge than backend programming. This makes it possible for developers to get started straight away even with just a basic understanding of HTML, CSS, and JavaScript.

Moreover, several frontend frameworks, such as React and Vue, have made it simpler for developers to create working prototypes of websites fast. The tools available are another reason frontend development is perceived as being simpler. Website development is made simpler for developers by the abundance of tools, libraries, and frameworks available. As an illustration, CSS preprocessors like Sass and LESS may significantly cut down on the time required to develop and maintain CSS code. The same is true for JavaScript build tools like webpack and gulp, which may assist developers in writing task automation and optimized code.

The fact that frontend development is more visible and tangible than backend development is a last consideration. As a result, developers can more easily comprehend and interact with the code they write since they can view the results of their labors in real-time in the browser. Developers may be highly motivated by this and debugging and troubleshooting are also much facilitated. In conclusion, many backend engineers assert that the frontend is simpler since it is more approachable, has access to tools, and is more visible and concrete. Because of this, a lot of developers are switching from the backend to the frontend, and this trend is probably going to continue.

What is Frontend & Backend Development?

Frontend development (client-side development) refers to the development of the parts of a website that the user can see and interact with. This includes code that is responsible for the look, feel, and behavior of the website and includes HTML, CSS, and JavaScript. 

Backend development (server-side development) is the creation of sections of a website that the user does not directly view or interact with. This contains program code for databases, servers, and APIs that manage and handle the website’s data.

What’s the Difference?

The main distinction between frontend and backend development is that the former concentrates on the external components of the website, whilst the latter does so for its internal components. Backend development is in charge of data processing and storage, whereas frontend development is in charge of the appearance, feel, and functionality of the website.

Frontend developers build the aesthetics, style, and interaction of the user interface using HTML, CSS, and JavaScript. The logic, databases, and APIs that power the user interface are created by backend developers in languages like PHP, Python, Java, and Ruby. Backend development is concerned with how the user interface works and interacts with the server-side logic and data, whereas frontend development is concerned with how the user interface appears and feels.

Why Is Frontend Harder Than Backend?

Why is it that some claim that frontend development is more difficult than backend development these days? There are several reasons why this is so, let’s look at them.

Keeping up with a rapidly changing environment

The rapid advancements in frontend development have given it a reputation for being challenging. Every few months, new frameworks and technologies like React, Angular, and Vue are released to improve development. These continual updates mean that staying up-to-date requires constant learning of new lessons and courses. Once Angular was the most popular frontend framework, but now React is the preferred choice for many companies. Even Netflix has gone back to using the original JavaScript due to performance concerns. With no indication that these advances will soon slow down, it’s important to remember how quickly the industry is developing the next time someone claims that frontend development is easy.

More information to consider

Frontend development may prove to be equally challenging in 2023 as backend development. With opinionated frameworks, state management systems, and intricate logic, there should be no assumption that the workload for backend developers is greater than that of frontend developers. However, frontend development entails more than just programming, as it demands creativity, aesthetics, and an understanding of user experience. This includes being adept with design techniques, creating prototypes, and making sure the design looks professional. Furthermore, it necessitates taking into account how users will interact with the software to deliver the best user experience.

More tools to learn

As the workplace evolves, so too must your skillset. Keeping up with the latest tools, such as Webpack, React, Yarn, and NPM can be a challenge, as you may find yourself constantly learning new technologies, leaving less time to learn other programming topics, such as different paradigms, languages, and best practices. Nevertheless, it is important to remain up-to-date and not be discouraged by the ever-changing landscape.

Test suites and testing

Testing the frontend of a web application is more difficult and tedious than the back end. In addition to checking for the theoretical soundness of functions and objects, and assessing edge scenarios, frontend testing requires tests for design components, logical operations, and state changes. As such, manual testing is often preferred over creating a unit test suite, which is more time-consuming and frustrating. All in all, frontend testing is more complex, laborious, and frustrating than backend testing.

Why Is Backend Harder Than Frontend?

Both backend and frontend development have specific explanations for why they are more difficult.

The higher learning curve for beginners

Compared to frontend development, learning backend programming can be more difficult. To build a website’s frontend, only HTML and CSS are needed. However, the backend requires a deep understanding of programming languages. This can be daunting for newcomers and lead them to believe that frontend development is easier. In reality, the learning curve for the backend is much steeper than for the frontend.

Frontend is less visually appealing than the backend

Just knowing where to look can help you find the backend, which can be just as aesthetically pleasing as the frontend. However, with frontend development, you can often see the effects of your changes in real time. The response time for the backend can be unpredictable, making it more challenging for a beginner.

Many backend languages

The complexity of learning backend languages can be attributed to their variety and the need to comprehend multiple languages. While frontend development only requires knowledge of JavaScript, HTML, and CSS, backend development involves mastering three languages to work with the various methods available. Although the concepts are generally the same, transitioning between languages can be challenging, leading many to stick with the language they are most comfortable with or switch only when necessary for a better career opportunity.

Summary 

So, which is harder, the backend or the frontend? The truth is that both types of development are equally difficult, but for different reasons. Frontend development necessitates comprehension of design concepts and user experience, as well as the ability to produce an aesthetically beautiful user interface. Awareness of server architecture, security, and strong technical language and framework knowledge are all necessary for backend development. In the end, both styles of development are essential for a successful product, and they each call for a unique set of talents. The distinctions between the two and the many tasks that each may be utilized for must be understood. You can more readily pick which form of growth is best for you if you are aware of the distinctions.

The post Why Do Some Programmers Say Frontend Is Easier Than Backend? appeared first on Flatlogic Blog.

Flatlogic Admin Templates banner

JavaScript sans build systems?

#​626 — February 17, 2023

Read on the Web

JavaScript Weekly

Writing JavaScript Without a Build System — Using a variety of build tools for things like bundling and transpiling is reasonably standard in modern JavaScript development, but what if you want to keep things simple? For simple things, it’s not necessary, says Julia. This led to a lot of discussion on Hacker News.

Julia Evans

Ryan Dahl, Node.js Creator, Wants to Rebuild the Runtime of the Web — A neat bit of journalism about the alternative JavaScript runtime Deno and what Ryan Dahl is trying to achieve with it and how Ryan handled the stress of being known as the creator of Node.js.

Harry Spitzer / Sequoia

Broadcasting a Live Stream With Nothing but JavaScript — Live streams typically use third-party software to broadcast, but with Amazon Interactive Video Service, you can build a powerful, interactive broadcasting interface with the Web Broadcast SDK and JavaScript. Click here to learn more.

Amazon Web Services (AWS) sponsor

core-js’s Maintainer Complains Open Source Is ‘Broken’core-js is a popular universal polyfill for JavaScript features and its author has run into his fair share of bad luck which has culminated in this lengthy post on the state of the project, his issues in securing an income and, well, the downsides to living in Russia. The Register has tried to balance out the story.

The Register

IN BRIEF:

? The just released Firefox 110 for Android now supports Tampermonkey, an extension for running JavaScript ‘userscripts’ on sites you visit.

The Angular project is taking steps to revamp its reactivity model to enable fine-grained change detection via signals.

The latest beta of iOS and iPadOS 16.4 supports the Web Push API for home screen webapps.

? A fun Twitter thread where Qwik’s Miško Hevery attempted to demonstrate why a = 0-x is about 3-10x faster than a = -x before being told about a flaw in his benchmark. There is still a performance difference, though.

▶️ The React.js documentary we mentioned last week has now been released and it’s a heck of a watch – you’ll need 78 minutes of your time though.

RELEASES:

Node.js 19.6.1, 18.14.1, 16.19.1 and 14.21.3.

JavaScript Obfuscator 4.0 – Code scrambler.

Shoelace 2.1
↳ Framework agnostic Web components.

Mermaid 9.4
↳ Text to diagram generator. Now with timeline diagram support.

Cypress 12.6

? Articles & Tutorials

Use a MutationObserver to Handle DOM Nodes that Don’t Exist Yet — Comparing the effectiveness of the MutationObserver API with the conventional method of constantly checking for the creation of nodes.

Alex MacArthur

Well-Known Symbols in JavaScript — Hemanth, a TC39 delegate, shows off 14 symbols and where they can come in useful.

Hemanth HM

? Monitor and Optimize Website Speed to Rank Higher in Google — Monitor Google’s Core Web Vitals and optimize performance using in-depth reports built for developers. Improve SEO & UX.

DebugBear sponsor

Why to Use Maps More and Objects Less — A journey down a performance rabbit hole.

Steve Sewell

Adopting React in the Early Days — A personal history lesson providing context around React’s evolution. While React might be an obvious, even safe, choice now, that wasn’t always true.

Sébastien Lorber

An Animated Flythrough with Theatre.js and React Three Fiber — How to fly through a 3D scene using the Theatre.js JavaScript animation library and the React Three Fiber 3D renderer. This is the sort of thing that used to be Very Difficult™ but is now relatively trivial.

Andrew Prifer (Codrops)

How to Change the Tab Bar Color Dynamically with JavaScript

Amit Merchant

Is Deno Ready for Primetime? One Dev’s Opinion

Max Countryman

Using Playwright to Monitor Third-Party Resources That Could Impact User Experience

Stefan Judis

? Code & Tools

Dependency Cruiser: Validate and Visualize JavaScript Dependencies — If you want a look at the output, there’s a whole page of graphs for popular, real world projects including Chalk, Yarn, and React.

Sander Verweij

Devalue: Like JSON.stringify, But..“Gets the job done when JSON.stringify can’t.” Namely, it can handle cyclical and repeated references, regular expressions, Map and Set, custom types, and more.

Rich Harris

? JavaScript Scratchpad for VS Code (2m+ Downloads) — Get Quokka.js ‘Community’ for free: #1 tool for exploring/testing JavaScript with edit-continue experience to see realtime execution and runtime values.

Wallaby.js sponsor

NodeGUI: Build Native Cross-Platform Desktop Apps with Node.js — Unlike Electron which leans upon webviews and HTML, NodeGui uses a Qt based approach. This week’s 0.58.0 release is the first stable release based on Qt 6 and offering high DPI support.

NodeGui

DOMPurify 3.0: Fast, Tolerant XSS Sanitizer for HTML and SVG — A project that’s nine years old today but still actively developed. Supports all modern browsers (IE support was only just dropped) and is heavily tested. There’s a live demo here.

Cure53

Pythagora: Generate Express Integration Tests by Recording Activity — This is a neat idea still in its early stages. Add a line of code after setting up an Express.js app and this will capture app usage and generate integration tests based on the interactions. (▶️ Screencast demo.)

zvone187 and LeonOstrez

Try Stream’s Free Trial of SDKs for In-App Chat

Stream sponsor

grep.app: Search Code Across a Half Million GitHub Repos — A code search engine that lets you use regexes or syntax in your search. Considering what it is, it’s pretty fast and has an extensive index (over half a million public repos from GitHub, allegedly).

grep.app

tsParticles: Particles, Confetti and Fireworks for Your Pages — Create customizable particle related effects for use on the Web. Uses the regular 2D canvas for broad support.

Matteo Bruni

? Jobs

Software Engineer — Join our happy team. Stimulus is a social platform started by Sticker Mule to show what’s possible if your mission is to increase human happiness.

Stimulus

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

QUICK RELEASES:

Minimatch 6.2
↳ Glob matcher library, as used in npm.
    minimatch(“bar.foo”, “*.foo”)

React Accordion 1.2
↳ Unstyled WAI-ARIA-compliant accordion library.

ScrollTrigger 1.0.6
↳ Have your page react to scroll changes.

VeeValidate 4.7.4
↳ Popular Vue.js form library

Express Admin 2.0
↳ Admin interface for data in MySQL/Postgres/SQLite.

Execa 7.0
↳ Improved process execution from Node.js.

React Tooltip 5.8

Flatlogic Admin Templates banner

Bringing JavaScript to WebAssembly

#​625 — February 10, 2023

Read on the Web

It looked quiet at first but wow, what an epic week this turned out to be. There’s a lot to chew on here, and we even have a variety of bonus items at the very end of the issue. Enjoy!
__
Your editor, Peter Cooper

JavaScript Weekly

Speeding Up the JS Ecosystem: It’s ESLint’s Turn — Last year we featured an article from the same author about how he was finding, and fixing, low-hanging performance fruit in popular JavaScript projects. He’s back, and he’s found a lot of potential for savings in ESLint this time.

Marvin Hagemeister

The Future (and the Past) of the Web is Server Side Rendering — It’s fair to say the Deno folks have some skin in this game, but nonetheless this is a neat brief history of server-side rendering and why they feel it’s the right approach for modern web development.

Andy Jiang (Deno)

Monitoring Your NestJS Application with AppSignal — With AppSignal, you can monitor your NestJS app with ease and rely on OpenTelemetry to handle third-party instrumentations. AppSignal even provides helper functions to help you build comprehensive custom instrumentation. A box of ? included!

AppSignal sponsor

Ten Web Development Trends in 2023 — Following the State of JS survey results Robin takes a considered look at new web dev trends that we should be paying attention to this year, and why they matter.

Robin Wieruch

Bringing JavaScript to WebAssembly for Shopify Functions — As much as this is focused on a specific use case at Shopify, this is a fascinating look at how they’re integrating JavaScript and WebAssembly under tight constraints. They also talk about Javy, a JS to WebAssembly toolchain being built at Shopify that lets you run JS code on a WASM-embedded JS runtime.

Surma (Shopify)

Google Touts Web-Based Machine Learning with TensorFlow.js

Richard MacManus (The New Stack)

IN BRIEF:

? Time to celebrate — a recent survey allegedly found that JavaScript applications ‘have fewer flaws’ than Java and .NET ones. So there you go.

Honeypot’s highly anticipated ▶️ React.js documentary drops later today – it’ll probably be out by the time you read this.

Vanilla List is a directory of ‘vanilla’ JavaScript controls and plugins.

▶️ Evan You tells us what to expect in 2023 from Vue.js.

The Scala.js project is celebrating its ten year anniversary – it’s now a mature way to build Web projects using Scala, if you prefer.

? Vue.js Live is a JavaScript event taking place both in London and online on May 12 & 15. From the same folks as the also forthcoming JSNation conference.

A history of criticisms levelled at React.

RELEASES:

Eleventy / 11ty 2.0
↳ Popular Node.js static site generator.

pnpm 7.27 – The efficient package manager.

RxDB 14.0 – Offline-first, reactive database.

? Articles & Tutorials

Design Patterns in TypeScript — OO-inspired patterns aren’t for everyone or every use case, but this is a fantastic catalog of examples, complete with diagrams and explanations, if you need to learn to tell apart factory methods from decorators, facades, or proxies.

Refactoring Guru

Resumable React: How To Use React Inside Qwik — Building React apps without ever loading React in the user’s browser? “Sounds too good to be true? Let’s see how this works.”

Yoav Ganbar

Did You Know That You’re Already a Distributed Systems Developer?

Temporal Technologies sponsor

Build a Hacker News Client using Alpine.jsAlpine.js is a thin and elegant reactivity library that lets you add dynamic functionality to your site directly in markup. This is a short and sweet practical example of what you can quickly do with it.

Salai Vedha Viradhan

▶  TypeScript Speedrun: A Crash Course for Beginners — If you want to pick up TypeScript and would find a video guide useful, this is for you. Matt has become well known recently for his educational TypeScript tweets and videos, and this is another good one that flies through the basics. (23 minutes.)

Matt Pocock

Using Notion as a Headless CMS with Nuxt

Trent Brew

The Options API vs Composition API in Vue.js

Charles Allotey

? Code & Tools

Bookmarklet Editor: Easily Work on JavaScript Bookmarklets — Useful because who can remember the exact syntax for a bookmarklet? ? This also can instantly convert code to and from bookmarklet form and includes some examples in the help section (click the big ? to get all the details).

Marek Gibney

Breakpoints and console.log Is the Past, Time Travel Is the Future — 15x faster JavaScript debugging than with breakpoints and console.log, now with support for Vitest.

Wallaby.js sponsor

Yup 1.0: Super Simple Object Schema Validation — Define a schema, transform a value to match, assert the shape of an existing value, or both. Very extensive docs here.

Jason Quense

Material React Table: A Full-Featured React Table Component — Built upon Material UI 5 and TanStack Table 8. The docs include lots of interactive examples.

Kevin Van Cott

BlockNote: Notion-Style Block-Based Text Editor — Built on top of Prosemirror and Tiptap, this is for you if you like the way the Notion note-taking service’s text editor feels. There’s a live demo.

Yousef

TresJS: Build 3D Experiences with Vue.js — Create 3D scenes with Vue components and Three.js. Think React-three-fiber but Vue flavored.

Alvaro Sabu

depngn: Find Out if Dependencies Support a Given Node.js Version — A CLI tool that establishes whether or not the dependencies in your package.json will work against a specified version of Node.

OmbuLabs

Open-Source JS Form Libraries to Automate Your Form Workflow — Self-host SurveyJS to configure and modify multiple forms, convert them to fillable PDF files, and analyze collected data in interactive dashboards.

SurveyJS sponsor

Lawnmower: Build VR Scenes with Custom HTML Tags — A web component library that leans on Three.js and aims “to make building a basic VR website as easy to make as your first HTML site”.

Gareth Marland

Electron 23.0 Released — The popular cross platform JavaScript, HTML + CSS desktop app framework gets bumped up to Node 18.12.1, Chromium 110, and V8 11.0. Windows 7/8/8.1 support has also been dropped, so we might start to see those versions of Windows lose the support of a lot of Electron based apps soon.

Electron Core Team

Run: Run User-Provided Code in a Web Worker

SLASHD Analytics

? Jobs

Software Engineer (Backend) — Join our “kick ass” team. Our software team operates from 17 countries and we’re always looking for more exceptional engineers.

Sticker Mule

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

QUICK RELEASES:

vue-easytable 2.23
↳ A data table/grid control for Vue.js. (Demo.)

React-Custom-Scroll 5.0
↳ Customize the browser scroll bar. (Demo.)

react-jsonschema-form 5.1
↳ Component to build Web forms from JSON Schema.

AlaSQL.js 3.1
↳ JavaScript-based SQL database.

jest-puppeteer 7.0
↳ Run tests using Jest & Puppeteer.

MDX 2.3
↳ Markdown for the component era.

? The Bonus Round

✈️ Watching someone wrestle with Python and JavaScript to fly (virtual) planes with Microsoft Flight Simulator tickled me a lot.

A beautiful WebGL2-based fluid simulation. It’s even happy on mobile. Pretty!

Go-like channels in 10 lines of JavaTypeScript..?

? Misko Hevery: “useSignal() is the future of web frameworks and is a better abstraction than useState(), which is showing its age.” (source)

Mike Pennisi asks: when is an object property not a property?

Do you use Postgres at all? Check out Postgres Weekly – one of our sister newsletters. So much is going on in the Postgres space lately and it’s a great way to keep up.

Flatlogic Admin Templates banner