SurviveJShttps://survivejs.com2024-11-25T08:44:02.000ZImpressions on Web Summit 2024impressions-on-web-summit-20242024-11-21T00:00:00.000ZImpressions on Web Summit 2024
Web Summit 2024 occurred from 11 to 14.11 in Lisbon, Portugal. Despite its name, the summit does not focus on the web. Instead, it is the largest startup fair in the world, boasting 70.000 yearly visitors. I had the cha…state-ref - Easy to integrate state management library - Interview with Kim Jinwoostate-ref-interview2024-10-18T00:00:00.000ZState management is one of those recurring themes in frontend development. State becomes an issue when you try to build something even a little complex.
This time I'm interviewing Kim Jinwoo about state-ref, his technology agnostic solution to the p…KaibanJS - Open-source framework for building multi-agent AI systems - Interview with Dariel Vilakaibanjs-interview2024-10-11T00:00:00.000ZSince the launch of ChatGPT, there has been a lot of interest in AI systems. The question is, how do you build your agents, for example?
In this interview, we will look into a JavaScript-based solution called KaibanJS with its author Dariel Vila.
C…How to get started with web development in 2024?how-to-get-started-with-web-development-in-20242024-09-23T00:00:00.000ZIn the past few years, technologies such as ChatGPT have changed the way we work.
It has never been as easy to develop web applications as today, but it also presents challenges of its own since the web was not originally meant as an application plat…Singulatron - AI On-Premise - Interview with Janos Dobronszkisingulatron-interview2024-08-22T00:00:00.000ZYou could say Artificial Intelligence (AI) is eating the world. The problem is that often, you have to use an external service to leverage its benefits.
Another option is to host AI solutions on your own, and that is where Singulatron by Janos Dobro…JavaScript patterns - Pyramid of doompyramid-of-doom2024-05-31T00:00:00.000ZIn this post, I will introduce you to the concept of the pyramid of doom. Although the pattern is not typical anymore, it is good to know how you might solve this anti-pattern, as there are several ways to approach it. The pyramid of doom could be ch…SurviveJS - What did I learn by rewriting this sitesurvivejs-site-rewrite2024-05-21T00:00:00.000ZIf you have used this site earlier, you might have noticed it looks different now. That is because I did a massive rewrite of it. I had the following targets with the work:
The new site should build faster - I built the old one with Antwar, my now d…RelativeCI - In-depth bundle stats analysis and monitoring - Interview with Viorel Cojocarurelativeci-interview2023-07-07T00:00:00.000ZIn terms of development productivity, Continuous Integration (CI) has become a common technique across development teams across the world.
In this article, I'll interview Viorel Cojocaru about the topic to learn more.
Can you tell a bit about yours…Future Frontend - A new conference to reimagine the future of the frontend - Interview with Juho Vepsäläinenfuture-frontend-interview2023-01-30T00:00:00.000ZFor a conference organizer, one of the hardest things to do is to keep your conference relevant. That is exactly the problem we faced with React Finland. As a result, we decided to pivot from React into frontend. Future Frontend conference was born a…Console Cat - Privacy-friendly CLI telemetry in less than five minutes - Interview with Matt Evensonconsole-cat-interview2022-07-28T00:00:00.000ZAs an open source developer of Node.js command line tools, you often have the question of which versions are being used and how.
To solve the problem, Matt Evenson developed a service called Console Cat. Read on to learn more about it.
Can you tell…Nhost - Backend-as-a-Service with GraphQL for modern app development - Interview with Johan Eliassonnhost-interview2022-01-27T00:00:00.000ZDeveloping a full-blown web application, including a backend, can be quite an undertaking for a single developer or a small team. Several solutions have appeared in the market during the last few years that make this less daunting.
To learn about on…How to tame the devDependencies of your project?how-to-tame-dev-deps2022-01-13T00:00:00.000ZIt's not uncommon for a normal JavaScript application to have thousands of dependencies. Once you start having multiple projects, the problem of having to maintain them is pronounced.
It's for this reason that solutions like Create React App and Nx …Medusa - Own your ecommerce stack - Interview with Sebastian Rindommedusa-interview2021-12-14T00:00:00.000ZBuilding an online shop can be complex, and there are many factors to consider, not to mention compliance with all the different laws.
To learn more about the niche and how to get into e-commerce, I am interviewing Sebastian Rindom from Medusa.
Can…iHateReading - Where knowledge is shared - Interview with Shrey Vijayvargiyaihatereading-interview2021-06-16T00:00:00.000ZDeveloping content is hard work, and it takes consistent effort to become a successful content producer.
To learn more about one approach, I am interviewing Shrey Vijayvargiya about iHateReading.
Can you tell a bit about yourself?
Shrey Vijayvargi…Forage Analytics - Analytics for React Native - Interview with Steven Maloneforage-interview2021-05-31T00:00:00.000ZAnalytics is a big topic. What you don't know, you cannot optimize.
To learn more about it, I am interviewing Steven Malone about Forage Analytics, an analytics solution aimed for React Native.
Can you tell a bit about yourself?
Steven Malone|100|…Blitz.js - The Full-stack React Framework - Interview with Brandon Bayerblitz-interview2021-04-12T00:00:00.000ZAlthough React is a UI library, that doesn't mean you couldn't write full-stack applications around it. Frameworks, such as Next.js, have appeared to make it easier.
To learn more about one such framework, Blitz.js, I am interviewing Brandon Bayer.
…Rubico - [a]synchronous functional programming - Interview with Richard Tongrubico-interview2021-03-10T00:00:00.000ZOne of the tricky parts of JavaScript is dealing with asynchronous behavior. The language itself has introduced improved syntax (async/await) and utilities like Promise.all and Promise.race but it's not enough for more advanced use cases.
To learn a…PropagateAt - Talk to your greatest fans via text - Interview with Kumar Abhiruppropagate-interview2021-02-12T00:00:00.000ZDeveloping your products is both exciting and challenging. There's both the business side and the development side to worry about and to manage. Both have to be on a good enough level for the product to work.
In this interview, we'll learn about a p…GruCloud - Infrastructure as Code in JavaScript - Interview with Frederic Heemgrucloud-interview2021-02-03T00:00:00.000ZFor me, it's always amazing how complex infrastructure it's possible to configure these days. If you master a platform like AWS or GCP, you can do quite a lot. Earlier it took a lot of expertise and hardware to pull this off, and these days you can g…Renderlesskit React - Collection of composable headless hooks - Interview with Anurag Hazrarenderlesskit-interview2021-01-29T00:00:00.000ZWhen developing user interfaces with React, you often create a set of basic primitives. Another option is to consume them from a third-party library and perhaps build more complex components yourself.
To learn about a potential solution to the probl…PixelCraft - a Pixel Art Editor - Interview with Abhishek Chaudharypixelcraft-interview2021-01-19T00:00:00.000ZIt's cool to write small web applications for the sake of learning. You can set the boundaries yourself and experiment with new technologies.
Abhishek Chaudhary developed a pixel art editor to learn, and in this interview he'll give an overview of t…Nullstack - Full-stack JavaScript Components - Interview with Christian Mortaronullstack-interview2021-01-15T00:00:00.000ZIf you look into what happened during the past few years in the world of JavaScript, you can see that component thinking made it to the mainstream. Even with this, there's still some kind of a boundary between the frontend and the backend.
In this i…Preloading Web Assetspreloading-web-assets2020-12-08T00:00:00.000ZPreloading data is useful yet perhaps underused web development technique. When it comes to performance, the best work is the one you don't have to do. The second best is the one you can do ahead of time.
Preloading achieves exactly this as it gives…CV Compiler - The Fastest Way to Improve Your CV - Interview with Andrew Stetsenkocv-compiler-interview2020-12-01T00:00:00.000ZWhen you apply for a new position or a business case, often people want to see your CV (Curriculum Vitae). Although it sounds simple to create one, it's far from it.
Andrew Stetsenko has created a service that addresses the problem. Read on to learn…"SurviveJS - Webpack 5" - Amazon Version is Availablewebpack-book-version-32020-11-27T00:00:00.000ZDoing a paper release of a book comes with additional thrill as once you go paper, there's no going back. Any mistakes you might have in the book are going to remain until you make a new edition. It's for this reason that especially technical books m…Plasmic - The fast and fun visual builder for React - Interview with Yang Zhangplasmic-interview2020-11-16T00:00:00.000ZDeveloping user interfaces with React tends to require effort and often it's done at the level of code. What if we could create user interfaces in the browser itself?
It's this question that we'll explore in this interview of Yang Zhang.
Can you te…Multi-platform applications with JavaScript - Interview with Valentyn Poliskyimulti-platform-interview2020-11-09T00:00:00.000ZDeveloping multi-platform applications is difficult. Thankfully the advent of JavaScript has made it a possibility for an increasing amount of developers.
To learn more about the approach, I am interviewing Valentyn Poliskyi.
Can you tell a bit abo…Rockpack - Skip config, code React - Interview with Sergey Aleksandrovrockpack-interview2020-11-02T00:00:00.000ZAs you might know, configuring webpack isn't the most fun thing in the world and that's exactly the reason why I wrote a thick book about it.
For many React users, either Create React App (CRA) or framework such as Next.js hides a lot of the complex…"SurviveJS - Webpack 5" - Further webpack 5 updateswebpack-book-webpack-5-updates2020-10-30T00:00:00.000ZWebpack 5 has been available for a couple of weeks by now. The previous release of the book covered majority of the required changes but I realized there's still more work and updates to be done as I perused through the official release post. You see…End-to-end testing - Interview with Erik Fogge2e-interview2020-10-29T00:00:00.000ZTesting is topic that comes up often in software development as it's an important part of verifying what we did works. That said, it's a complex topic given there are so many ways to test.
To understand end-to-end testing better, I am interviewing E…Algolia with Netlify - Easy search for static sites - Interview with Samuel Bodinalgolia-with-netlify-interview2020-10-19T00:00:00.000ZSetting up and maintaining a search on a static site is often a chore. You could handle indexing yourself using a solution like Lunr but even with that you'll encounter limitations as the size of the index grows.
That's where services like Algolia c…Ukrainian developer market - Interview with Eliza Kravchenkoukrainian-developer-market-interview2020-10-12T00:00:00.000ZI've encountered many Ukrainian developers during my career and even visited the country a couple of times speaking at conferences. During each trip, it was surprising to me how vibrant the developer community is there.
To learn about Ukrainian deve…Eleventy - A simpler static site generator - Interview with Jeremias Menichellieleventy-interview2020-10-05T00:00:00.000ZStatic site generation is a topic that is becoming increasingly popular due to the rise of JAMStack. Instead of maintaining a server, the idea is to generate static markup for the entire site. Depending on the use case, this can be a great fit that a…How to learn effectively as a developerhow-to-learn-effectively-as-a-developer2020-09-24T00:00:00.000ZI recently received an interesting question from a reader that changed his career path and headed to technology. He mentioned he was getting overwhelmed by the amount of information related to web development and computer science.
He was asking my a…Pipcook - Bridging JavaScript with Python for machine learning - Interview with Wenhe Lipipcook-interview2020-09-14T00:00:00.000ZThere's a lot of excitement about machine learning and its applications. The question is, what can you do with and where to apply the technique and how.
To learn more, I am interviewing Wenhe (Eric) Li, the creator of Pipcook.
Can you tell a bit ab…NoCode programming - Doing more with less code - Interview with Alex Moldovannocode-interview2020-09-07T00:00:00.000ZWhat if you could create programs without coding? If you've ever used something like Microsoft Excel or Google Sheets, you've already done this at one level.
NoCode programming is an emerging topic. To learn more about it, I am interviewing Alex Mol…ExtendsClass - Online Tools for Developers - Interview with Cyril Boisextendsclass-interview2020-09-03T00:00:00.000ZOne of the great things about being a developer is that you can literally create your own tools to make it easier to do your work.
Cyril Bois has been developing a set of tools at ExtendsClass for a while and now we have a good chance to learn more.…"SurviveJS - Webpack" book updated to webpack 5webpack-book-updated-to-webpack-52020-08-28T00:00:00.000ZWebpack 5 is getting near and it felt like a good time to update the book. Although it's still in beta, it seems quite stable already and it's worth experimenting with it. During this work, I went through my long list of TODOs that had accrued since …Midway - A Node.js framework for Serverless - Interview with Harry Chenmidway-interview2020-08-24T00:00:00.000ZServerless computing is one of those approaches that has taken the world by storm. The idea is to make computing a flexible resource you consume on-demand. Compared to earlier models, it scales in terms of demand instead of requiring an upfront inves…Enroute - Envoy Route Controller - Interview with Chintan Thakkerenroute-interview2020-08-12T00:00:00.000ZWhen developing APIs, you often get questions like how to combine and control data coming from different sources. That's where proxy-based approaches come in.
To understand one such in better detail, I am interviewing Chintan Takker as he developed …Detox - Testing React Native - Interview with Mykola Solopiidetox-interview2020-08-06T00:00:00.000ZTesting mobile applications is a tough topic as you have to worry about different devices, and the interaction model is challenging.
Detox is a solution built specifically for React Native, and in this interview we'll learn more about the approach f…Synthetics - Monitor availability and performance of your website and APIs - Interview with Siva Kaliappansematext-monitoring-interview2020-06-18T00:00:00.000ZAnything you don't measure or test, you cannot improve. The wisdom applies particularly to web as we develop our websites and applications. Without any kind of monitoring solution in place, you are flying blind.
To learn more about the topic, I am i…JavaScript Security - Interview with David Balabanjavascript-security-interview2020-04-28T00:00:00.000ZGiven JavaScript dominates the world of web development, it has become a good target for malicious actors. Furthermore, the flexibility has led to a plethora of attack vectors for cybercriminals making JavaScript security an important topic for web d…MonoLisa - Font follows function - Interview with Marcus Sterzmonolisa-interview2020-03-10T00:00:00.000ZAs a developer, font is something you end up using every day at your work. One year ago I teamed up with Andrey Okonetchikov and Marcus Sterz, to create a new typeface for programming.
In this interview, you'll learn more about MonoLisa from Marcus'…Debugging JavaScript - Interview with Mehdi Osmandebugging-interview2020-03-04T00:00:00.000ZDebugging JavaScript is one of those topics where people tend to be divided into two camps - those that console.log and those that use a debugger.
In this interview, I am learning more about the topic from Mehdi Osman, the CEO of a company called As…React Cosmos - A development environment for ambitious developers - Interview with Ovidiu Cherecheşcosmos-interview2020-02-13T00:00:00.000ZDeveloping user interfaces can be complex as you have to think about different ways it's going to be used and you have to design patterns and components to use for defining it. That's where tools like style guides come in.
Earlier, I interviewed Art…Webix - Declarative UI Framework for Rapid Development - Interview with Maksim Kozhukhwebix-interview2020-02-07T00:00:00.000ZIf there's something that has changed during the past few years, it's the way we develop user interfaces using JavaScript. Earlier we've learned about solutions, such as Reakit. Now it's time to look into a library designed especially for rapid proto…VPNpro - How do VPNs work - Interview with Olivia Scottvpn-interview2020-01-28T00:00:00.000ZIf there's one web technology I never looked that much into, it's VPNs (Virtual Private Networks). In these times when privacy is more valued than ever, the technology has become more relevant to many users and developers.
To understand the topic be…Squareboat - Growing an IT Business - Interview with Gaurav Guptasquareboat-interview2019-12-16T00:00:00.000ZWhat is it like to grow an IT business? At least in my experience, it's not the easiest thing to do, and there are many things you have to get right to stay floating.
To learn more about the topic, I am interviewing Gaurav Gupta about his company, S…Tomo - Like CRA but more flexible - Interview with Jason Wohlgemuthtomo-interview2019-09-04T00:00:00.000ZAlthough tools like create-react-app (CRA) are great, they can at times be inflexible. They might provide great defaults but at the same time you lose some power and room for experimentation.
To learn more about an alternative tool, I'm interviewing…Secure Coding - Interview with Liran Talsecure-coding-interview2019-07-31T00:00:00.000ZThere's more than one way to code, and you'll find multiple programming styles. One aspect that's perhaps neglected sometimes is secure coding.
To learn more about the topic, I'm interviewing Liran Tal, a security expert.
Can you tell a bit about y…Experiences on CSSCamp and JSCamp 2019csscamp-jscamp-20192019-07-27T00:00:00.000ZI was invited to CSSCamp 2019 (17.07) and JSCamp 2019 (18-19.07) by David Pich, the main organizer, to help out. I performed speaker interviews and a part of the Twitter coverage while documenting the event a bit.
Overview of CSSCamp and JSCamp 2019…Sketch.sh - Interactive ReasonML sketchbook - Interview with Nguyen Dang Khoasketch-sh-interview2019-07-16T00:00:00.000ZOften learning a new programming language like ReasonML can be an arduous process as you have to set up the environment and tooling before you can begin learning.
That's where Sketch.sh by Nguyen Dang Khoa comes in. It's an online service addressing…Experiences on WorkerConf 2019workerconf-20192019-07-02T00:00:00.000ZI was invited to WorkerConf 2019 (27-28.06) as a speaker. I also participated a workshop and went hiking after the conference. It was a small-scale conference (about 80 people) held in Dornbirn, Austria. It was my second time in the city and I enjoye…Minima - To-do lists done right - Interview with Alex Fedoseevminima-interview2019-06-17T00:00:00.000ZIf there's one thing that transformed my life, it's the adoption of the Getting Things Done (GTD) methodology. The key part for me was to begin what's to be done and then committing on doing it. I use OmniFocus and Google Keep for this and while it r…Reakit - Build accessible rich web apps with React - Interview with Diego Hazreakit-interview2019-06-10T00:00:00.000ZWhen building web applications and sites using React, you have to think carefully about the user interface. You might either go with an established user interface library, develop your own, or try a bit of both.
One of the aspects that often is forg…Benefit - utility CSS library - Interview with Chad Donohuebenefit-interview2019-06-03T00:00:00.000ZOne of the developments that has began to change the way we style our applications and sites is the introduction of utility classes. Tailwind is an example of a popular framework that has adopted the approach.
To learn more about the approach, I am …Webpack UI - Configure webpack with a UI - Interview with Even Stensbergwebpack-ui-interview2019-05-31T00:00:00.000ZWebpack is infamous for being a bundler that's not entirely easy to configure. That's one of the main reasons why I wrote the webpack book available on this site. To be fair, webpack doesn't require as much configuration as it did before.
To overcom…ReasonML - Type safety with ease - Interview with Gabriel Rubensreasonml-interview2019-05-27T00:00:00.000ZI've had the chance to observe the evolution of the ReasonML ecosystem up close. For me, it seems to solve many pain points of the current JavaScript/TypeScript based web ecosystem by addressing many of the issues in the language itself.
To understa…Express Gateway - A microservices API Gateway built on top of Express.js - Interview with Vincenzo Chianeseexpress-gateway-interview2019-04-22T00:00:00.000ZIf you are dealing with microservices, you get questions like how to manage and orchestrate them.
Vincenzo Chianese has come up with a solution designed for the popular Node.js web framework Express.js. Learn more about Express Gateway in this inter…Experiences on typeof 2019typeof-20192019-04-06T00:00:00.000ZI was invited to typeof 2019 (27-29.03) as a speaker and a workshop instructor. It was a small-scale conference (about 200 people) held in Porto, Portugal. It was my second time in Portugal (first time in mainland) and I enjoyed the trip a lot.
Over…Functional Programming - Interview with Arfat Salmanfp-interview2019-04-05T00:00:00.000ZIf there's one programming style I like a lot, it's functional programming. Although it's not the best fit for all problems, often having means to decompose a problem into smaller parts to be solved separately through composition has proven to be use…Dredd - Language-agnostic HTTP API Testing Tool - Interview with Honza Javorekdredd-interview2019-03-22T00:00:00.000ZIf there's one thing developers have to deal with most of the days, it's APIs. For web developers, this often means dealing with HTTP and external services. The question is, how to test the APIs and make sure everything works as we expect.
For this …Managing css-in-js Components with Namespacesmanaging-css-in-js-with-namespaces2019-03-19T00:00:00.000ZI've settled on using Emotion for styling my React applications. The API is close to styled-components and especially Emotion 10 is filled with functionality. I use only a small part of it in my daily work.
As I've been working on the print graphics…atomic-layout - Layout composition as a React component - Interview with Artem Zakharchenkoatomic-layout-interview2019-03-15T00:00:00.000ZOften layouting a web page is an afterthought. Put a div here and there, sprinkle some CSS, and call it done. Perhaps you are more advanced and use CSS Grids to figure out exact positioning.
What if there was an alternative way to achieve the same w…Pesto - A career accelerator for India’s top software engineering talent - Interview with Andrew Linfootpesto-interview2019-03-08T00:00:00.000ZOne of the unique aspects of the internet is that it makes us all equal in a strange way. What it means is that collaboration is possible on a new level as we aren't restricted by our local communities anymore. The internet has led to changes in the …Codecrumbs - Document a Codebase by Breadcrumbs - Interview with Bohdan Liashenkocodecrumbs-interview2019-03-01T00:00:00.000ZDevelopers spend most of their time reading and understanding code. That said, not much has changed in the past decades in the way we do it. Perhaps the IDEs have become smarter but we still use roughly the same techniques as before. I prefer to jump…packtracker.io - Webpack bundle analysis, for every commit - Interview with Jonathan D. Johnsonpacktracker-interview2019-02-22T00:00:00.000ZWhen using webpack to bundle your project, it's important to keep an eye on the output. There are multiple tools for this purpose. Now there's also a service.
In this interview with Jonathan D. Johnson, you'll learn about packtracker.io.
Can you te…Overmind - Frictionless State Management - Interview with Christian Alfoniovermind-interview2019-02-15T00:00:00.000ZAlthough state management solutions like Redux have become the standard, at least with React, there's still room for innovation in the space.
Sometimes what happens is that technology becomes reinterpreted. When you can see the technology in context…webpack-config-plugins - Best practices for webpack loader configurations - Interview with Jan Nicklaswebpack-config-plugins-interview2019-01-18T00:00:00.000ZManaging webpack configuration can get tough especially if you try to track best practices and optimizations.
To address this problem, Jan Nicklas has come up with a solution in the form of webpack plugins.
Can you tell a bit about yourself?
Jan N…SurviveJS - Summary of 2018summary-of-20182019-01-03T00:00:00.000Z2018 was mostly a consulting year for me. I also did travel within Europe and discovered countries such as Croatia and Armenia. It was my first year as a conference organizer as I helped to set up two conferences in Helsinki, Finland. Both were well …webpack-plugin-serve - A Development Server in a webpack Plugin - Interview with Andrew Powellwebpack-plugin-serve-interview2018-12-13T00:00:00.000ZUsually, when you use webpack, you also have to set up its development server as well. Traditionally doing this hasn't been trivial and has required a certain amount of expertise. That is one of the reasons why I wrote the webpack book available on t…React Union - React for CMSs and Portals - Interview with Tomáš Konrádyreact-union-interview2018-12-02T00:00:00.000ZReact has uses beyond application development. One of the perhaps surprising use cases is to integrate it within a Content Management System (CMS) such as WordPress.
To get a better idea of how this could work out, I am interviewing Tomáš Konrády.
…Unicon - Wrangle SVGs from your favorite design tool - Interview with Travis Arnoldunicon-interview2018-11-26T00:00:00.000ZSo far design and development have been considered separate disciplines. Recently tooling has begun to appear to bridge this gap.
To understand more about the topic, I am interviewing Travis Arnold, the author of Unicon.
Can you tell a bit about yo…Experiences on HalfStack London 2018halfstack-20182018-11-18T00:00:00.000ZI was invited to HalfStack London 2018 as a guest as we are considering bringing the conference series to Vienna. Therefore it was vital for me to get an idea of the format and how the event runs.
It was my second visit to London. Although the city …React India 2019 - The international React.js conference in Goa, India - Interview with Manjula Dubereact-india-interview2018-11-11T00:00:00.000ZIt is exciting to organize a conference, especially when it's the first of its kind in a region. To learn more about one such event, I'm interviewing Manjula Dube from the React India (22-24.08.2019) team.
Can you tell a bit about yourself?
Manjula…Experiences on WebCamp Zagreb 2018webcampzg-20182018-10-10T00:00:00.000ZI was invited to WebCamp Zagreb as a speaker and a workshop trainer. I gave one of my webpack workshops at the event and discussed static websites and the way I see them in my talk.
It was my first time in Zagreb, and I was pleasantly surprised by t…Experiences on WebExpo 2018webexpo-20182018-09-24T00:00:00.000ZI was invited to WebExpo 2018 as a visitor since I spoke at the conference last year. Prague is one of my favorite cities in Europe, and the conference was good last year, so I decided to go again. Like last time, also this time most of the attendees…Refract - Manage Component Side Effects the Reactive Way - Interview with Thomas Roch.refract-interview2018-09-16T00:00:00.000ZIt's difficult to write an application without side effects. Consider handling requests, dealing with third parties, managing storage for example. These concerns come up often.
Refract by Thomas Roch provides a solution to the problem for React user…DSS - Deterministic Style Sheets - Interview with Giuseppe Gurgonedss-interview2018-09-05T00:00:00.000ZCSS is perhaps one of the most controversial parts of web development. For some, it's the favorite, for some the least pleasant part. As a result, many solutions have appeared around it to make it more palatable to web developers.
To learn more abou…SurviveJS - Fall Eventsfall-2018-events2018-09-04T00:00:00.000ZSummer is over and I've made travel plans for the Fall. More details below.
WebExpo - 21-23.09.2018
WebExpo 2018
I went to WebExpo last year for the first time. It's one of my favorite crossover conferences. It spans from development to business t…Uppy - Painless Uploads for JavaScript - Interview with Artur Paikinuppy-interview2018-07-17T00:00:00.000ZLet's say you are building a CMS or a blog with an admin interface. It won't take long until you want to upload files to your service. There are standards for this, but eventually, you want to do something more complicated.
That's where solutions li…GraphQL Finland - Learn GraphQL Up North - Interview with Mikhail Novikovgraphql-finland-interview2018-07-05T00:00:00.000ZFollowing the success of React Finland, we decided to organize another event this year. GraphQL Finland has a different scope, and it's going to be the first Nordic GraphQL focused conference.
To tell you more about the conference, I am interviewing…Progressive Web Apps - The Why and How - Interview with Maciej Caputapwa-interview2018-06-25T00:00:00.000ZEven though the web started from content, it has transformed into an application platform. Approaches like Progressive Web Apps are a clear sign of this.
Maciej Caputa will explain the topic in more detail in this interview.
Can you tell a bit abou…Proppy - Functional props composition for components - Interview with Fahad Ibnay Heylaalproppy-interview2018-06-22T00:00:00.000ZYou might be familiar with packages like Recompose that make it easier to compose components. Recompose is React-specific solution. What if there was something broader available?
Proppy by Fahad Ibnay Heylaal is such a solution.
T> I interviewed Fa…SurviveJS - Summer Eventssummer-2018-events2018-05-30T00:00:00.000ZSummer is a great time to travel and see new places. So far I've scheduled three events for the Summer although more may appear depending on the public interest.
GrazJS - 06-07.06.2018
The first event where I'll take part this Summer is GrazJS meet…Fastpack - Pack JavaScript code fast and easy - Interview with Oleksiy Golovkofastpack-interview2018-05-29T00:00:00.000ZTools like browserify and webpack popularized the idea of bundling. The idea is to transform your web application into a format that can be distributed to browsers. Bundlers operate on module level and can combine the assets in various ways.
Fastpac…lint-staged - Run Linters on git Staged Files - Interview with Andrey Okonetchnikovlint-staged-interview2018-04-08T00:00:00.000ZAlthough linting a project is a good technique to adopt, it comes with a cost as you have to wait for the linter to complete its work.
Andrey Okonetchnikov figured out a way to solve the problem.
Can you tell a bit about yourself?
Andrey Okonetchn…"SurviveJS - Webpack" book updated to webpack 4webpack-book-updated-to-webpack-42018-03-19T00:00:00.000ZQuite a bit has happened in the world of webpack. Most notably, the webpack reached version 4 recently. The purpose of this release of the book is to update it to support webpack 4 while preparing towards the next paper edition.
Compared to the prev…Webpack in Munich, May 2018webpack-in-munich-may-20182018-03-17T00:00:00.000ZIn addition to writing and consulting, I do occasional training. Most often it's around my webpack book and it supports different levels of sessions well. Workshops also improve the material so the work feeds back to the book and strengthens it.
To …Experiences on Concat 2018concat-20182018-03-05T00:00:00.000ZI participated Concat 2018 at Salzburg this year. I held a four-hour webpack workshop with Tobias Koppers, the author of the tool, and visited the event itself. Overall, it was a great one-day dual-track conference, and I don't regret going.
The Wor…Verdaccio - A lightweight npm proxy registry - Interview with Juan Picadoverdaccio-interview2018-02-26T00:00:00.000ZIf you develop JavaScript applications, you most likely use npm, the most famous package manager available for JavaScript. At the time of writing, it hosts over 600 thousand packages, and the amount keeps rapidly increasing year by year.
That said, …Parket - A state management library inspired by mobx-state-tree - Interview with Leah Ullmannparket-interview2018-02-16T00:00:00.000ZState management is one of those topics that divides opinions. So far we've seen a couple of options so far.
In this post, we'll cover Parket, a solution by Leah Ullmann.
Can you tell a bit about yourself?
Leah Ullmann|100|100|author
I'm a (mostl…substyle - Build Styling Agnostic Components for React - Interview with Jan-Felix Schwarzsubstyle-interview2018-02-08T00:00:00.000ZOne of the tricky things about writing React components meant for public consumption is making them compatible with various styling approaches used by the community. The problem exists because application styling isn't considered as a first-class cit…Experiences on AgentConf 2018agentconf-20182018-02-06T00:00:00.000ZI was invited to AgentConf 2018 on its second iteration about a month ago as one of the organizers saw a presentation of mine about npm packaging. I gained free entry to the conference against a lightning talk but more on that later.
The concept is …Experiences on ScriptConf 2018scriptconf-20182018-02-01T00:00:00.000ZOne of the benefits of living in Vienna is that it's easy to reach central Europe and its conferences. Given Linz is close to Vienna (about 90 minutes by train), I decided to visit ScriptConf.
ScriptConf is a JavaScript themed single-track conferenc…Illuminate - Syntax highlighter for Node - Interview with Vivek Bansalilluminate-interview2018-01-30T00:00:00.000ZOne of the core features of this site is custom syntax highlighting. I had to figure out ways to deal with custom syntax provided by Leanpub. Initially, I implemented a solution based on PrismJS, but I wasn't entirely happy with it, and the frustrati…Logux - Replace AJAX-REST - Interview with Andrey Sitniklogux-interview2018-01-26T00:00:00.000ZWhen you build a web application, you often have to communicate with a backend. It's not uncommon to do this using AJAX against a RESTful API.
Logux by Andrey Sitnik is one possible alternative.
Can you tell a bit about yourself?
Andrey Sitnik|100…Fastify - Fast and low overhead web framework for Node.js - Interview with Tomas Della Vedovafastify-interview2018-01-17T00:00:00.000ZServers, servers, servers. I've written a lot of Node.js servers since I began using it. Initially, I went through the API it provides but after a while most of the community settled on using Express.
In this interview you'll learn about an alternat…BEM - Methodology to enable reuse in front-end development - Interview with Sergey Berezhnoybem-interview2018-01-12T00:00:00.000ZDeveloping large scale applications requires a certain amount of discipline. Sometimes it is enforced by the environment; sometimes you have to apply it yourself through conventions. Likely both are needed to some extent. As applications grow in comp…SurviveJS - Summary of 2017summary-of-20172017-12-31T00:00:00.000ZIt was quite a year for me. You could say a life-changing one even. I visited at least ten countries in Europe, and most of them were new acquaintances to me. I traveled more in one year than in my entire life before. I made more friends in one year …controllerim - MobX Inspired State Management for React - Interview with Nir Yosefcontrollerim-interview2017-12-27T00:00:00.000ZWhen you are writing applications, eventually you have to decide how to manage state. You can get far with React setState and lift the state in the component hierarchy as you go. Eventually that might become cumbersome and you realize using a state m…React Finland - Your Chance to Learn React Up North - Interview with Juho Vepsäläinenreact-finland-interview2017-12-23T00:00:00.000ZThere are a lot of React conferences these days. React has become one of the most popular web technologies during the past few years so this is understandable.
Given I, Juho Vepsäläinen, am one of the organizers of React Finland (24-26.4.2018, Helsi…redux-saga-test-plan - Test Redux Saga with an easy plan - Interview with Jeremy Fairbankredux-saga-test-plan-interview2017-12-20T00:00:00.000ZRedux Saga is famous for being easy to test but what if it could be even more comfortable. redux-saga-test-plan by Jeremy Fairbank was designed precisely for this purpose.
Can you tell a bit about yourself?
Jeremy Fairbank|100|100|author
I'm a sof…Redux Form - The best way to manage your form state in Redux - Interview with Erik Rasmussenredux-form-interview2017-12-11T00:00:00.000ZForms are a frequent topic in web development as we saw in the earlier interview about a-plus-forms. This time around, I'm interviewing Erik Rasmussen about a popular option, Redux Form.
T> Erik has published a library agnostic successor to Redux Fo…Redux Zero - Single Store, No Reducers - Interview with Matheus Limaredux-zero-interview2017-12-04T00:00:00.000ZAlthough using Redux is straight-forward once you understand the approach and its nuances, after a while it gets repetitive. It's easy to end up with a lot of "boilerplate" code that wires all the logic together. For this reason, multiple solutions a…Flow Runtime - A runtime type system for JavaScript with full Flow compatibility - Interview with Charles Pickflow-runtime-interview2017-11-26T00:00:00.000ZAs discussed in the maintenance book, typing your code can be valuable in many ways. In part, it's about communication. Having the type information available makes it easier to develop tools that make it easier to manipulate code (think refactoring, …a-plus-forms - A+ forms. Would use again - Interview with Nikolay Nemshilova-plus-interview2017-11-20T00:00:00.000ZIf you think about it, a lot of web development has something to do with forms. Every time you capture information, you most likely require a form. It's one of the basic skills for a front-end developer.
There are plenty of options for React and I'v…“SurviveJS — Webpack” v2.1 and “SurviveJS — Maintenance” v0.9survivejs-webpack-and-maintenance2017-11-17T00:00:00.000ZWhat do you do when you realize a book has become too big? You split it of course. The webpack book began to feel this way after the previous release and this is the reason why I started to write a new book about maintenance with Artem Sapegin.
Over…Cabbie - WebDriver for the masses - Interview with Forbes Lindesaycabbie-interview2017-11-13T00:00:00.000ZTesting is a lasting topic in software development. There are lots of tools, especially for JavaScript. In this interview, you'll learn about Cabbie, a WebDriver based browser automation library by Forbes Lindesay.
Can you tell a bit about yourself?…react-lite - Implementation of React optimized for small size - Interview with Jadereact-lite-interview2017-11-06T00:00:00.000ZEven though React API is small, the implementation is quite sizable due to all the work it does behind the façade. For this reason, people have developed solutions that implement the API with different trade-offs.
react-lite by Jade is one of these …React Day Berlin - Fully Packed Day of Your Favorite React Content - Interview with Robert Haritonovreact-day-berlin-interview2017-10-17T00:00:00.000ZThere are a lot of React events out there these days and it seems a new one appears every week somewhere around the world.
To continue on the theme, this time I'm interviewing Robert Haritonov of React Day Berlin organized early December.
T> Read t…unexpected-react - Test Full Virtual DOM - Interview with Dave Brotherstoneunexpected-react-interview2017-09-29T00:00:00.000ZTesting React components is a constant topic. You can test through solutions like Jest or Enzyme. Or you could try something else like unexpected-react.
The solution by Dave Brotherstone builds on top of another testing library, Unexpected.
T> Read…Experiences on WebExpo 2017webexpo-20172017-09-24T00:00:00.000ZI was invited to WebExpo 2017 to discuss how I bootstrapped my business. Prague is one of the favorite cities of mine, so it was hard to say no. I'm happy I went there, and I picked up a few lessons while at it.
The tenth anniversary of the event wa…Kea - High level abstraction between React and Redux - Interview with Marius Andrakea-interview2017-09-18T00:00:00.000ZRedux took the React world by a storm when it was introduced. The simple idea provided a guideline for the community and "solved" state management for a lot of different kinds of applications.
That said, Redux comes with a certain amount of wiring. …Experiences on React Next 2017react-next-20172017-09-15T00:00:00.000ZI had the privilege to participate in React Next 2017 as an invited speaker. Participation gave me a good chance to learn more about Israel and also a good excuse to showcase webpack to a wider audience. I also gave a surprise talk about my site gene…FrintJS - Build reactive applications with React and RxJS - Interview with Fahad Ibnay Heylaalfrint-interview2017-09-06T00:00:00.000ZReact gives a lot of freedom by default. You can choose which libraries to use to complement it. Freedom comes with responsibility, though. Now you are responsible for your decisions.
FrintJS by Fahad Ibnay Heylaal and his company has developed a fr…Neutrino - Create modern JavaScript applications with minimal configuration - Interview with Eli Perelmanneutrino-interview2017-08-28T00:00:00.000ZSetting up a project can require a significant amount of effort if you want to control every single detail. This might be one reason why there are so many boilerplates out there as people tend to have different tastes.
To make things easier, Eli Per…Idyll - Narratives for the web - Interview with Matthew Conlenidyll-interview2017-08-21T00:00:00.000ZSince the early days of the web, people have wanted to visualize data to share with others. Even though the platform provides something basic for these purposes (i.e., tables, images), typically some amount of programming has been required.
Idyll by…Motorcycle.js - A statically-typed, functional and reactive framework for modern browsers - Interview with Tylor Steinbergermotorcycle-interview2017-08-18T00:00:00.000ZFunctional reactive programming allows us to think carefully about state and side effects. The question is, how to do that in JavaScript?
Motorcycle.js by Tylor Steinberger is one solution to this problem.
Can you tell a bit about yourself?
Tylor …Next.js - Framework for server-rendered React apps - Interview with Arunoda Susiripalanextjs-interview2017-08-15T00:00:00.000ZBuilding universal web applications combining server side rendering with front-end is popular these days. The approach is not without its problems, though. Now you have the extra challenge of managing code so that it works on the both sides. Due to t…Rekit - Toolkit for building scalable React applications - Interview with Nate Wangrekit-interview2017-08-09T00:00:00.000ZPerhaps the greatest thing about React is how flexible it is. It contains some opinions but not too many. You still have plenty of freedom. Sometimes this is a blessing, but it can also be a curse.
Nate Wang realized the same, and as a result, he de…Redux-First Router - Just dispatch actions - Interview with James Gillmoreredux-first-router-interview2017-08-07T00:00:00.000ZRouting is one of those classic topics that comes up again and again. HTML5 History API itself is quite simple, but there are different opinions on how to apply the idea of routing on web applications and sites.
James Gillmore decided to tackle the …documentation.js - The documentation system for modern JavaScript - Interview with Tom MacWrightdocumentationjs-interview2017-07-31T00:00:00.000ZWhen you are using a library seriously, you will spend a lot of time with its documentation. It's one of those things that sets good libraries apart from the rest. Even a fantastic idea can go overlooked if it's too difficult to get into and understa…Rill - Universal web application framework - Interview with Dylan Pierceyrill-interview2017-07-28T00:00:00.000ZThere's a lot of talk about universal web applications but developing them tends to be harder than it might sound. You will have to worry about the differences between environments, and you will find problems you might not have anticipated.
To under…d-l-l - Easy, automatic, optimized DLL config handler for webpack - Interview with James Wiensdll-interview2017-07-24T00:00:00.000ZPerhaps one of my favorite webpack performance related tricks is setting up DLLs so that you avoid work. The problem is that maintaining the setup requires time and effort. What if there was a better way?
James Wiens has been exploring a better sol…Material-UI - React Components that Implement Google's Material Design - Interview with Olivier Tassinarimaterial-ui-interview2017-07-21T00:00:00.000ZDesign is difficult as you have to come up with a set of rules to describe it – a system. You don't always have to devise one yourself, and Material Design by Google is one starting point.
To understand the topic better, I'm interviewing Olivier Tas…Fall Tour - Vienna Clinics, ReactNext, WebExpo, ReactiveConffall-tour2017-07-19T00:00:00.000ZEven though I have traveled a lot this year already, it looks like more travel is in store. The travels so far have been valuable regarding experience. I've seen more places in this year than during my previous year alone. And I like to think it has …dont-break - Check if you break dependents - Interview with Gleb Bahmutovdont-break-interview2017-07-17T00:00:00.000ZReleasing new versions of npm modules is an npm publish away. But how do you make sure you don't accidentally break a dependent project? Even if you are careful and test your module well, someone may be depending on a behavior you are not testing.
d…Rollup - Next-generation ES6 module bundler - Interview with Rich Harrisrollup-interview2017-07-10T00:00:00.000ZGiven JavaScript application source cannot be consumed easily through the browser "as is" just yet, the process of bundling is needed. The point is to convert the source into a form the browser can understand. This is the reason why bundlers, such as…JSS - Author CSS Using JavaScript as a Host Language - Interview with Oleg Isonenjss-interview2017-07-07T00:00:00.000ZIf there's one thing that divides web developers, it's styling. A part of this has to do with the different requirements of websites and web applications. What is good in another domain, is an anti-pattern in another.
To understand the topic better,…renovate - Keep npm dependencies up-to-date - Interview with Rhys Arkinsrenovate-interview2017-07-03T00:00:00.000ZThere's one pain most JavaScript developers share - dependency management. More specifically, how to keep them up to date. Sometimes even one month is a long time as improvements keep coming and the dependencies changing.
To understand a potential s…Most.js - Monadic streams for reactive programming - Interview with Brian Cavaliermost-interview2017-06-26T00:00:00.000ZIf there's one trend that has been nice to notice, it's the rise of reactive programming. You can see this in technologies like RxJS and cycle.js.
To learn more about the topic, I'm interviewing Brian Cavalier, one of the authors of Most.js.
Can yo…React Alicante - The international React.js conference in Spain - Interview with Victoria Quirantereact-alicante-interview2017-06-23T00:00:00.000ZThere are plenty of events out there. What is it like to organize one? I know it's hard work based on what I've seen.
To get more perspective, I'm interviewing Victoria Quirante, one of the organizers of React Alicante, a new React conference organi…Hard-cover Edition of the Webpack Book and Traininghardcover-webpack-book2017-06-22T00:00:00.000ZPrint on Demand services like KDP are ideal for self-publishers like me as they take a lot of pain out of the process. You don't have to worry about printing or distribution. It's not free money as you still have to worry about marketing and getting …Working with Junior Developers - Interview with Aimee Knightjunior-interview2017-06-20T00:00:00.000ZEven though software development is often seen from a technical perspective, there's a softer side to it. It is hard to avoid not having to work with people unless you are a mythical programmer living in a cave somewhere in Finland.
To understand th…vx - The Power of D3 with the Benefits of React - Interview with Harrison Shoffvx-interview2017-06-12T00:00:00.000ZData visualization is a big topic itself. When it comes to the web, D3 is perhaps the most well-known solution. Even though you can wrap it with React quite quickly, there is value in having specific solutions.
This is where vx by Harrison Shoff com…unmarshaller - Toolbox for configuration - Interview with Sven Sauleauunmarshaller-interview2017-06-05T00:00:00.000ZSerialization, or the process of transforming data from a shape to another, is a common problem you encounter eventually when programming. Perhaps you want to store some state to the hard drive from memory or restore it. Or you may want to share it a…Popper.js - Easy Tooltips and Popovers - Interview with Federico Zivolopopper-interview2017-05-29T00:00:00.000ZThere are times when a vanilla ` or ` doesn't cut it. What if you want to do something more complex?
Popper.js by Federico Zivolo achieves exactly this. Read on to learn more.
Can you tell a bit about yourself?
Federico Zivolo|100|100|author
I'm …SurviveJS Euro Summer Tour 2017euro-summer-tour-20172017-05-28T00:00:00.000ZIt's time for another tour. This time around I'll be focusing on training. I have material specifically for webpack and React and this will be a good excuse to improve my book offerings while at it. I've found working on training material forces you …ES Modules - Interview with Bradley Fariases-modules-interview2017-05-22T00:00:00.000ZEven though ES6 (ES2015) brought modules to the language, it missed one important thing - a loading method. Proper support is currently being implemented for browsers.
To learn more about the topic, I'm interviewing Bradley Farias.
Can you tell a b…Blue Arrow Awards - Finnish Code Ambassador of 2017blue-arrow-awards-winner-20172017-05-21T00:00:00.000ZIn the beginning, there was a swamp, a hoe, and Jussi. Originally a large part of Finland was swamp and life were hard, but as Jussi worked on the swamp, it paid off eventually.
Interestingly you can still see the same pattern. You can always find a…async-reactor - Render Async Stateless Functional Components in React - Interview with Sven Sauleauasync-reactor-interview2017-05-15T00:00:00.000ZOne common way to deal with asynchronous concerns (fetching for example) in React is to push the problem to a state manager or handling it through life cycle methods. Sometimes that can feel a bit much, though, and a lighter solution would be nice.
…WebpackBin - Webpack Code Sandbox - Interview with Christian Alfoniwebpackbin-interview2017-05-09T00:00:00.000ZOnline tools are great for prototyping ideas and even workshops. You avoid the pain of setup while giving up some degree of control. Often this is a good trade-off, though.
The interview series covered CodeSandbox, an online React playground earlier…SurviveJS Euro Tour 2017 Recapeuro-tour-2017-recap2017-05-03T00:00:00.000ZIn this post, I will go through the biggest realizations gained in my Euro tour. I know it's a cliché thing to say, but trips like this grow you as a person. Spending a month outside of your comfort zone leads to realizations you might not otherwise …Fluture - Fantasy Land compliant alternative to Promises - Interview with Aldwin Vlasblomfluture-interview2017-05-02T00:00:00.000ZDealing with the asynchronous code has always been a challenge in JavaScript. Callbacks are the classic way, and since then we've gained higher level abstractions and constructs for handling the problem.
This time around we'll discuss Fluture, a Fan…CodeSandbox - Online React Playground - Interview with Ives van Hoornecodesandbox-interview2017-04-24T00:00:00.000ZGetting started with React can be daunting especially if you want to understand the entire setup. Solutions like create-react-app have hidden a lot of this complexity. But there's more to it.
CodeSandbox by Ives van Hoorne pushes the problem online.…Scrimba - Interactive Screencasts Created in an Instant - Interview with Per Harald Borgenscrimba-interview2017-04-17T00:00:00.000ZYouTube and the web are filled with screencasts. They provide a great way to learn difficult concepts as you can see in practice how something specific is done. This is the way I learned to use Blender, a 3D suite, in the past. It all made sense afte…SurviveJS - Webpack - v2.0 - Results and Erratasurvivejs-webpack-20-results-errata2017-04-12T00:00:00.000ZEnough time has passed since the major release of the webpack book so it's a good time to evaluate how well it went. As no release is perfect, I've been pushing smaller patches to the content and I cover the fixes later in this post. The fixes are mi…Sanctuary - Refuge from unsafe JavaScript - Interview with David Chamberssanctuary-interview2017-04-10T00:00:00.000ZIf there's something that's easy, it's making mistakes while coding JavaScript. Overlook one detail and you have a runtime error! One way to deal with the problem is to use a programming style which leads code that's harder to break and also easier t…Rambda - Faster and Smaller Alternative to Ramda - Interview with Dejan Totefframbda-interview2017-04-03T00:00:00.000ZEven though you can get far with JavaScript's native functionality, eventually you'll find yourself writing little utilities to make it easier. For this reason, we have libraries such as Lodash, Ramda, and others.
In this interview, you'll learn abo…SurviveJS - Webpack - v2.0survivejs-webpack-202017-03-29T00:00:00.000ZHere we go then. This is the big release I've been working towards for the past few months. Compared to the previous release this one is more polished and also available in a paper form. The digital edition has 458 pages while the paper version grew …Hyperapp - Tiny Library for Frontend Applications - Interview with Jorge Bucaranhyperapp-interview2017-03-13T00:00:00.000ZMicro-sized JavaScript libraries are a niche of their own. Often the idea is to use modern JavaScript APIs and expose them in an easier way. The earlier RE:DOM interview discussed one option.
This time around I am interviewing Jorge Bucaran, the aut…SurviveJS Euro Tour 2017euro-tour-20172017-03-10T00:00:00.000ZYou know how rockstars tour to support their albums? Who is to say a book author could not do the same?
Through a couple of coincidences, it looks like I'll be touring Europe this April. I'll start the tour from Finland and visit countries like Norw…Code Quality - Interview with João Caxariacode-quality-interview2017-03-06T00:00:00.000ZWhat makes code good? How do you tell bad code from good one? Issues like this come to mind when you think about the concept of code quality. To get a better idea of the topic, I'm interviewing João Caxaria
Can you tell a bit about yourself?
João C…SurviveJS - Webpack - v1.9survivejs-webpack-192017-03-01T00:00:00.000ZIf the previous release was a big step, this is another one. By the looks of it, the final paper version will be around 450 pages. Don't worry, though, I've taken special care to keep the chapters short and focused.
I consider the current release co…SurviveJS - Webpack - v1.8survivejs-webpack-182017-02-18T00:00:00.000ZCompared to the previous release this one has gained more weight. The PDF version of the book is close to 400 pages due to new content and enhancements. There is still one chapter and two appendices to write, but the finish line is close!
T> If you …SurviveJS - Webpack - v1.7.0survivejs-webpack-1702017-02-04T00:00:00.000ZCompared to the previous release we've proceeded a step or two closer towards paper. This time around in addition to the usual tweaks there are a couple of new chapters and more content.
It will likely take at least one more release till we get to t…Unexpected - The Extensible BDD Assertion Toolkit - Interview with Sune Simonsenunexpected-interview2016-01-30T00:00:00.000ZWhen it comes to testing, often you assert certain truths. At the very least you might have simple asserts sprinkled in your code. Or you might push them to separate suites which you then execute using a test runner.
Unexpected by Sune Simonsen tak…ajv - The Fastest JSON Schema Validator - Interview with Evgeny Poberezkinajv-interview2017-01-23T00:00:00.000ZDescribing what things are is an essential skill for a programmer. We might do that implicitly, but we often have to think about structure regardless. JSON Schema is a specification that allows us to do this in a more formal manner.
Assuming you wer…SurviveJS - Webpack - v1.6.0survivejs-webpack-1602017-01-19T00:00:00.000ZYou might have noticed that webpack 2 reached a final release. That means it's a good time to update this book as well. Even though it's mostly a maintenance release, there's some new content in store.
Compared to the previous release this one feels…isomorphic-webpack - Universal module consumption using webpack - Interview with Gajus Kuizinasisomorphic-webpack-interview2017-01-10T00:00:00.000ZA lot of people see isomorphic rendering as a holy grail given it gives advantages a SPAs lost compared to earlier solutions. The fact that you can provide initial markup has SEO and performance implications. It is a hard problem, though, as your too…SurviveJS - Webpack - v1.5.0survivejs-webpack-1502017-01-03T00:00:00.000ZNew year, new chance to write. The previous release put the writing gear back on and it's time to continue. This time around there are quite a big changes in the content and it's starting to feel more and more something worth publishing in a paper fo…Styletron - Universal, high-performance JavaScript styles - Interview with Ryan Tsaostyletron-interview2016-12-26T00:00:00.000ZStyling is one of those topics that's under flux. My React styling chapter alone covers quite a few approaches and Michele Bertoli's list has a lot more.
There was an interview on glamor earlier. It's time to continue on the theme and check out a so…SurviveJS - Webpack - v1.4.2survivejs-webpack-1422016-12-19T00:00:00.000ZAlright, here we go again. It has been a while since the previous release and it's time for a big Winter update!
Quite a bit has happened since. I spent most of the intermediate time in consulting and training mode. Since I became a part of webpack …Inferno - Blazing fast, React-like UI library - Interview with Dominic Gannawayinferno-interview2016-12-12T00:00:00.000ZOne of the cool things about React is that it managed to pull a lot of people into the component world. Even though there was initial resistance, the ideas seem to have stuck. Maybe the question is, what next?
Inferno, a blazing fast React-like UI l…Svelte - The magical disappearing UI framework - Interview with Rich Harrissvelte-interview2016-12-07T00:00:00.000ZIf jQuery gave us proper control over the DOM, and React brought components to the limelight, what's next? Svelte by Rich Harris might be an answer to this conundrum. You might remember him from tools such as Bublé and Rollup. Read on to learn what S…webpack-merge - Taming Webpack Configuration - Interview with Juho Vepsäläinenwebpack-merge-interview2016-11-29T00:00:00.000ZIt's almost funny how far a simple idea can fly sometimes. When writing my first book, I ran into the problem of configuring webpack. I prefer to keep my configuration in a single file and duplication goes against my nature. As a result webpack-merge…StarRatio - Compare JavaScript Projects - Interview with Dmitry Zaetsstarratio-interview2016-11-14T00:00:00.000ZComparing different JavaScript projects is surprisingly tough. This is a problem encountered by many developers daily. Most often it's the easiest to go and pick the solution with the most GitHub stars, but that's not always the whole story.
Dmitry …RE:DOM - Tiny but Super Fast DOM Library - Interview with Juha Lindstedtredom-interview2016-10-31T00:00:00.000ZSometimes small is beautiful. Juha Lindstedt's FRZR, a 4kB view library, was a nice example of that as we saw earlier. This time we'll discuss evolution of Juha's work - a solution known as RE:DOM.
How would you describe RE:DOM to someone who has ne…Glamor - Inline CSS for React et al - Interview with Sunil Paiglamor-interview2016-10-17T00:00:00.000ZIf you ask multiple React developers their styling approaches, you will also get multiple different answers. One trend is clear, though, the movement towards inline styling.
This is something that was considered an anti-pattern before React, but as …Teaching JavaScript - Interview with Bianca Gandolfoteaching-javascript-interview2016-10-03T00:00:00.000ZI have chosen one approach when it comes to teaching JavaScript and related topics. Books are just a way amongst many others. Today I'm interviewing another professional, Bianca Gandolfo, about the topic. Let's see what she thinks about teaching Java…react-game-kit - Make games with React - Interview with Ken Wheelerreact-game-kit-interview2016-09-26T00:00:00.000ZWhat's more fun than making applications with React? Making games of course! I remember coding Pong in Python (harder than it sounds) and writing a text adventure or two. Games look deceptively simple but are quite difficult to code.
Today I'm inter…Reactotron - A CLI and OS X App for Inspecting - Interview with Steve Kellockreactotron-interview2016-09-19T00:00:00.000ZIf there's one thing that has set React community apart, it's the focus on developer experience (DX). Historically developer tools haven't been the greatest, but this is slowly and surely changing. Reactotron by Steve Kellock is a good example of thi…Reactabular - Spectacular tables for React - Interview with Juho Vepsäläinenreactabular-interview2016-09-12T00:00:00.000ZWriting a little HTML table isn't particularly hard. It all gets more complex when you need logic like filtering, pagination, or fixed headers. A simple problem becomes difficult fast as requirements appear.
When it comes to React, there are a few e…Assetgraph - Optimization Framework for Web Pages and Applications - Interview with Peter Müllerassetgraph-interview2016-09-05T00:00:00.000ZIf you have written a web application or site, you have had to deal with various assets like images, fonts, HTML, JavaScript code, whatnot. It's not a simple task to keep it all organized. This is why we have tools like webpack, browserify, or jspm a…PureScript - Strongly Typed Programming Language Compiling to JavaScript - Interview with Phil Freemanpurescript-interview2016-08-22T00:00:00.000ZIt's interesting how JavaScript development proceeds in cycles. While a lot of people might be happy with the standard language, there are always some that are willing to go further and push the envelope.
Sometimes this leads to a better standard as…CodeceptJS - Modern Era Acceptance Testing for Node.js - Interview with Michael Bodnarchukcodeceptjs-interview2016-08-15T00:00:00.000ZTesting is a complicated topic. Just peppering your code with unit tests isn't often enough. You'll need something more, especially if you are developing something user facing. That's where techniques like integration or acceptance testing come in.
…Mostly Adequate Guide to Functional Programming - Interview with Brian Lonsdorfmostly-interview2016-08-01T00:00:00.000ZYou might have heard about Mostly Adequate Guide to Functional Programming (in JavaScript) by Brian Lonsdorf. It's one of the better known free books discussing JavaScript.
Today I'm bugging Brian about the topic. Functional programming is close to …tcomb - Type checking and DDD for JavaScript - Interview with Giulio Cantitcomb-interview2016-07-25T00:00:00.000ZGiven JavaScript is loosely typed, it can be amazingly productive language for prototyping. The problems begin once your project grows in complexity. It is very easy to end up with a runtime error if you miss a simple check at the right place.
Testi…redux-saga - Saga Middleware for Redux to Handle Side Effects - Interview with Yassine Elouafiredux-saga-interview2016-07-18T00:00:00.000ZWhen developing front-ends, handling asynchronous behavior is always bit of a challenge. Yassine Elouafi's redux-saga provides one solution to this problem. Read on to learn more about sagas and redux-saga in particular.
T> Check out the earlier int…Snabbdom - a Virtual DOM Focusing on Simplicity - Interview with Simon Friis Vindumsnabbdom-interview2016-07-11T00:00:00.000ZIf you have been using React, you have used one implementation of virtual DOM perhaps without thinking too much about it. It's one of those concepts that's worth understanding in greater detail, though.
There are specific virtual DOM implementations…SurviveJS - Webpack - v1.3.1survivejs-webpack-1312016-06-14T00:00:00.000ZCompared to the previous release this is a conservative release. There are certain bug fixes and content improvements, but no new chapters. The focus was on pushing the current content further based on feedback.
I am very happy that the book split h…npms.io - A better and open source search for node modules - Interview with André Cruznpms-interview2016-06-13T00:00:00.000ZAs I lamented earlier this year, it's increasingly difficult to find npm packages. One way to describe this is npmopeia. The feeling that the package you need exists. The problem is how to find that package.
That is where services like npms.io by An…Mikey - React/Redux CLI/Framework - Interview with Michael Farrellmikey-interview2016-06-06T00:00:00.000ZIt is tedious and boring to do the same thing over and over. That's where generator tools come in as they take some grunt work out of coding. Mikey by Michael Farrell is a tool like that for React and Redux. To learn more about the tool, read on.
Ca…SurviveJS - React - v2.5.3survivejs-react-2532016-06-01T00:00:00.000ZIt has been a while since the previous release and a lot has happened. In addition to ramping up my consulting and training business, I managed to publish a book on webpack. That was the first part of my planned split. This is the second.
From now o…Builder - A npm-based task runner - Interview with Ryan Roemerbuilder-interview2016-05-16T00:00:00.000ZBuilder by Formidable Labs is one of those projects tackling the boilerplate issue. It is a project that repurposes npm scripts into something more powerful. To learn more, let's let Ryan Roemer discuss builder in detail.
Can you tell a bit about yo…SurviveJS - Webpack - v1.2.0survivejs-webpack-1202016-05-11T00:00:00.000ZAs I've been working towards splitting the first book, I realized I must do one more release of this webpack one before I can complete it. That's what the current release, 1.2.0, is about. I've moved certain content there (mainly linting, npm related…nwb - CLI for React Applications and Components - Interview with Jonny Buchanannwb-interview2016-05-09T00:00:00.000ZBoilerplate code is perhaps one of the leading causes of JavaScript fatigue. You often have to go through certain motions to set up a project or maintain a boilerplate of your own. In the previous interview about kotatsu we saw one possible solution.…Kotatsu - Less Boilerplate for Modern JavaScript - Interview with Guillaume Pliquekotatsu-interview2016-05-02T00:00:00.000Znpm alone has more than three thousand JavaScript boilerplates. Often it's easier to maintain your own than to use one designed by someone else. Everyone has their own preferences. At best boilerplates work as inspiration for your own work. The quest…Hashnode - Community for Software Developers - Interview with Sandeep Pandahashnode-interview2016-04-25T00:00:00.000ZOne of the challenges of being a web developer is keeping up with the world. The field moves ahead constantly and it's easy to fail to see the forest from the trees. In part, SurviveJS was born to address this problem, but obviously it's only a small…SurviveJS - Webpack - v1.1.0survivejs-webpack-1102016-04-24T00:00:00.000ZCompared to the first release a couple of weeks ago, this version has matured quite a bit. I've been reviewing the content with my editor (thanks Jesús!) and that has lead to some nice insights. Our work is still in progress and so far we've combed t…FRZR - a Tiny View Library - Interview with Juha Lindstedtfrzr-interview2016-04-18T00:00:00.000ZOften when you pick up a JavaScript library it's going to be a little chunky - tens, or even hundreds of kilobytes. Though this can be entirely acceptable given the benefits, it might be a little much at times.
What if it was possible to begin from …SurviveJS - Webpack and React - v2.1.0survivejs2102016-04-17T00:00:00.000ZIt has been a while since the previous release and quite a bit has happened. As you might have noticed, there's actually a new book about webpack out there now. The idea is that I will split this one in two.
This book will continue as something Reac…Relax - New generation CMS on top of React and Node.js - Interview with Bruno Motarelax-interview2016-04-11T00:00:00.000ZEven though I've spent a lot of time with web development, I never really delved into the world of Content Management Systems (CMS). I'm of course aware of WordPress, Drupal, and such. I've managed to get away with either something entirely custom or…SurviveJS - Webpack - v1.0.0survivejs-webpack-1002016-04-02T00:00:00.000ZI'm currently in process of splitting up the big book (SurviveJS - Webpack and React). The split allows me to dig deeper in both topics. This book, SurviveJS - Webpack, focuses on webpack as you might guess.
Given this is the very first edition, you…React.rocks - React Components and Demos - Interview with Jeff Winklerreact-rocks-interview2016-03-14T00:00:00.000ZGiven there's a lot going on in the React ecosystem, it can be difficult to keep up. Jeff Winkler maintains a service known as React.rocks to alleviate this problem. To get a better idea of what the service is about, read on.
Can you tell a bit abou…Reindex - Instant GraphQL Backend for Your React Apps - Interview with Ville Immonenreindex-interview2016-03-07T00:00:00.000ZMore often than not, you are going to need a back-end for your application. Particularly RESTful APIs are popular. They are not the only choice, though. GraphQL is a specification that has been designed apps in mind. Rather than separating our API en…SurviveJS - Learn Webpack and React - Interview with Juho Vepsäläinensurvivejs-interview2016-02-29T00:00:00.000ZThere is always some level of tension between getting things done and learning new technologies. A lot of the recent JavaScript fatigue stems from that. A year ago I decided to take some preemptive moves against it. The whole point of the SurviveJS e…react-styleguidist - Style guide generator for React - Interview with Artem Sapeginstyleguidist-interview2016-02-22T00:00:00.000ZPeople have been developing style guides for their sites and applications for quite a while. They define basic building blocks and aesthetics. This is valuable as it helps you to keep your design consistent and communicate it to your developers bette…SurviveJS - Webpack and React - v2.0.0survivejs2002016-02-15T00:00:00.000ZWhen I started this project roughly a year ago I had no idea how rewarding and demanding one it would be. Writing books is way harder than it sounds. Especially when you go through the self-publishing route, you have a lot to learn!
Overview of the …SurviveJS - Webpack and React - v2.0.0-rc4survivejs200-rc42016-02-07T00:00:00.000ZThe previous release candidate prompted a nice amount of feedback. I've taken that into account in this release. I have a date for the final in sight and I won't be making any significant changes for the final release.
It's not going to be the perfe…Towards a Common Component Definitiontowards-common-components2016-02-02T00:00:00.000ZThere has been talk of JavaScript fatigue. It's true the field is progressing fast. And as you move fast, it can be tiring for sure. Fortunately, as we understand better what we are doing, we can actually standardize our ways of doing. That should ta…SurviveJS - Webpack and React - v2.0.0-rc3survivejs200-rc32016-01-22T00:00:00.000ZIf the previous release candidate had few changes, this one is the opposite. I consider this good news as it's better to catch bigger issues now rather than later. Thanks for feedback!
Overview of the Situation
I managed to improve the Redux versio…SurviveJS - Webpack and React - v2.0.0-rc2survivejs200-rc22016-01-10T00:00:00.000ZNot a lot has happened since the previous release candidate. The biggest change has to do with a little bug that the recent release of Babel 6.4 revealed. All property initializer based declarations were missing a semicolon as Babel treated them in a…SurviveJS - Webpack and React - v2.0.0-rc1survivejs200-rc12016-01-06T00:00:00.000ZSince the beta was launched, I've been working on remaining improvements. This has mostly meant tuning the existing content, although there are some new bits as well.
Obviously the released book won't be complete in sense that it contains everything…Codemod - Refactoring Code Programmatically - Interview with Ramana Venkatacodemod-interview2016-01-01T00:00:00.000ZPerforming big changes to a codebase is always a little daunting. Doing each change by hand is time consuming and generally leads to errors, unless you have a good test suite in place.
Codemod is a tool that has been designed to help in this problem…2015 Recaprecap2015-12-30T00:00:00.000ZI know the common wisdom is that you shouldn't write technical books. It's a difficult way to earn your income, especially when you live in a country with heavy taxation and price level. Strangely enough, it's working out for me at the moment. I'll g…SurviveJS - Webpack and React - v2.0.0-beta2survivejs200-beta22015-12-28T00:00:00.000ZThe long awaited 2.0 is getting very close. babel-plugin-react-transform reached version 2.0 last Wednesday. This was all I needed to push the book to Babel 6. I released 2.0.0-beta1 as a xmas present of some sort to my Leanpub readers in early acces…WhitestormJS - Three.js Based Game Engine - Interview with Alexander Buzinwhitestormjs-interview2015-12-22T00:00:00.000ZI remember, when a few years ago a friend asked me what JavaScript game engine to use. As a result, I set up a little gist that in turn lead to something larger, namely jswiki, and eventually jster.net. The game engine listing and game engine feature…SurviveJS - Webpack and React v1.9.15survivejs19152015-12-11T00:00:00.000ZThis is perhaps the last release before the long awaited 2.0. Alt reached version 0.18. As a result a certain part of the book broke. I have fixed that issue in this release. There are also plenty of other tweaks here and there, and even some new con…React Indie Bundle - Summaryreact-indie-bundle2015-12-07T00:00:00.000ZIt is amazing what a great year this turned out to be. I launched this site around July. Since then a lot has changed. While the situation might have looked a little desperate back then, I feel we are on a sustainable track now. And there is still a …StarHackIt - A Full Stack ES6/ES7 Starter Kit based on React and Node - Interview with Frederic Heemstarhackit-interview2015-11-24T00:00:00.000ZI discussed my React component boilerplate earlier on. It is focused and deals only with the frontend. Often you need more than just a frontend, though. This is where Frederic Heem's StarHackIt fits. It is a full stack boilerplate. Read on to learn m…SurviveJS - Webpack and React - v1.9.10survivejs19102015-11-22T00:00:00.000ZIt's time for another maintenance release with minor tweaks here and there. Probably the biggest change is the fancy new cover which I crafted based on the logo design of Prospect One. Cheers for that.
Probably the biggest news this time around is t…react-router5 - Routing Alternative for React - Interview with Thomas Rochreact-router5-interview2015-11-09T00:00:00.000ZWhen people ask about what routing solution to use with React, they often get pointed at react-router. It is a powerful solution and used by many so it can make sense. That doesn't mean it's the only alternative, though.
This time I'm interviewing T…SurviveJS - Webpack and React - v1.9.5survivejs-1952015-11-03T00:00:00.000ZYou could say a lot has happened since the previous release. React 0.14 came out mere hours after it. React DnD gained 0.14 compatibility in its 2.0 release. Node.js reached 5.0.0 (v4 is LTS, supported for four years). And a couple of days ago Babel …Baobab - Data Trees with Cursors - Interview with Guillaume Pliquebaobab-interview2015-11-02T00:00:00.000ZI remember running into Baobab through Christian Alfoni's post about it. In short, it's a library that provides you optionally immutable data trees with cursors. Admittedly that's quite a mouthful.
In order to understand the topic a little better, i…React Component Boilerplate v1.0react-component-boilerplate-102015-10-22T00:00:00.000ZIf you try searching GitHub for React boilerplates, you'll find over thousand results. Nothing is harder than to agree on a standard boilerplate. As a result we have many to choose from.
Given I like to author React components, such as Reactabular, …React-Bootstrap - Bootstrap Rebuilt for React - Interview with Matt Smithreact-bootstrap-interview2015-10-13T00:00:00.000ZBootstrap is easily one of the most popular CSS frameworks out there. Beyond grids and basic layout utilities, it provides a nice set of widgets to use. Even though you can use the CSS with React, this may become cumbersome quite soon. You will likel…SurviveJS - Webpack and React - v1.9.0survivejs-192015-10-07T00:00:00.000ZCompared to 1.8.0, 1.9.0 can be seen as a more conservative release. There are plenty of smaller fixes and even some new content too. I decided to fix the chapter structure to the current. I rather provide less but better content. This also helps to …Cerebral - Expressing Application Flow with Signals - Interview with Christian Alfonicerebral-interview2015-10-05T00:00:00.000ZI ran into Christian Alfoni through his original blog early this year (2015). He had written a nice post about Webpack. That led me to provide a several suggestions and I realized we might want to combine some of our knowledge in the form of a React/…ShaderFrog - Building a WebGL Shader Editor and Composer - Interview with Andrew Rayshaderfrog-interview2015-09-28T00:00:00.000ZIt's always impressive when people take an idea and turn it into a concrete service. Andrew Ray did this with his ShaderFrog. It's a portal where you can design 3D shaders using WebGL. Most interestingly, it has been developed using React.
As buildi…Cycle.js - Reactive Framework for HCI - Interview with André Staltzcycle-interview2015-09-21T00:00:00.000ZIf there's one thing that has been bubbling below for a couple of years now, it must be reactive programming. There have been solutions, such as RxJS or bacon.js, but they haven't quite made it to the mainstream yet. I feel the time for that might be…Redux - Reinventing Flux - Interview with Dan Abramovredux-interview2015-09-14T00:00:00.000ZI remember seeing these strange webpack.config.js files in JavaScript projects for a long time. I didn’t give Webpack a good look until the promise of hot loading with React drew me in. Dan Abramov’s React Hot Loader was life changing for me.
Beside…SurviveJS - Webpack and React - v1.8.0survivejs-182015-09-13T00:00:00.000ZWe have once more new chapters in the book. I'm going to try a new model with these. For now the full versions of the testing and typing chapters will be available through Leanpub only. The community version will contain TLDR;s for these so you still…Front-end Singularity and How to Deal with Itfrontend-singularity-is-here2015-09-06T00:00:00.000ZTechnological progress is both exhilarating and terrifying thing. And by the looks of it, it just keeps on progressing faster and faster. This has lead to an idea of technological singularity. As singularity is reached, technology develops so fast hu…How to Succeed at Technical Books?succeed-at-technical-books2015-09-04T00:00:00.000ZI've written about book publishing earlier at my personal blog. It is an interesting yet difficult business. I sort of stumbled into the world by chance. In this post I want to share some of my learnings.
Long story short I wrote a little Webpack co…SurviveJS - Webpack and React - v1.7.5survivejs-1752015-08-30T00:00:00.000ZOnwards we go. v1.7.5 can be characterized as a refinement release. I went through "React and Flux" and "From Notes to Kanban" with my editor (thanks Jesús!). As a result we should have something that's a notch better together. I took some decompress…MobX - Reactive React - Interview with Michel Weststratemobx-interview2015-08-19T00:00:00.000ZAs React deals only with the view layer you will often have to complement it with something else. Flux architecture is one answer but not the only one. MobX by Michel Weststrate is a refreshing alternative. But what is it really about?
Can you tell …SurviveJS - Webpack and React - v1.7survivejs-172015-08-16T00:00:00.000ZI skipped doing a public post for v1.6 as I was too tired (berry season is taxing). Now I'm going to give you release notes for both v1.6 and v1.7 at once. I have also some news of the future plans. So stay tuned.
Development Model Changes
I've mov…A Quick Look at React Booksreact-books2015-08-01T00:00:00.000ZAs an author I like to keep an eye on the market. You have to know who you are against after all! It's not an understatement to say could that it's about to get swarmed with books. In this post I'll go through the ones I could find and provide you so…SurviveJS - Webpack and React - v1.5survivejs-152015-07-31T00:00:00.000ZCompared to the previous tagged release (v1.1.0, 10th of July) this new one (v1.5.0) is a monster. 274 commits went into it and nine contributors took part. Of course it was up to me to do most of the work. That said it is always amazing to get exter…Web Design is Scrappyweb-design-is-scrappy2015-07-17T00:00:00.000ZIf you had to describe my approach to web design in one word the word would be scrappy. I rather get something to work fast than agonize on details. It is going to take a fair amount of iteration no matter what. This site is a good example of scrappy…Reaching Towards the Next Levelreaching-towards-the-next-level2015-07-15T00:00:00.000ZIn my previous post I discussed some of the difficulties of related to technical publishing. I also presented a possible solution, a mixed model that might make open publishing more feasible. The idea is that starting closed and asking for money befo…Balancing Between Open and Closed Publishingbalance2015-07-14T00:00:00.000ZIf there's one thing technical authors have in common, it's that they all want to help other people. The question is how to achieve that most effectively. In my previous post I discussed how I have fared with my first effort so far. The results have …SurviveJS - The Story So Farthe-story-so-far2015-07-13T00:00:00.000ZGiven I'm a first time author I've done my fair share of mistakes with SurviveJS - Webpack and React. It was an attempt to change the direction of my career. Being a subcontractor's subcontractor provides income, sure, but was a dead end for me with …