# DeveloPassion's Newsletter 15 - New Site ![[DeveloPassion's Newsletter Logo.png|DeveloPassion's Newsletter logo: lightbulb sprouting colorful idea nodes]] Welcome to the 15th edition of DeveloPassion’s newsletter. Whew, time flies! It’s been a few months since the last edition of my newsletter. The last few months have been hectic, I’ve worked *too much* (yes, that’s possible :p). As usual, I’d like to ask all of you to **help me out a bit**. If you find this newsletter interesting, then please do take a bit of time to share on social media: . With your help, others will also get a chance to discover and enjoy reading it. As an added benefit, it’ll also motivate me to continue the experience! Don’t forget that you can also follow me on [Twitter](https://dsebastien.medium.com/). ## Dev Concepts News Since January, I’ve made a lot of progress on [Dev Concepts](https://dev-concepts.dev/), my latest writing project. As you might know, Dev Concepts is a collection of 12 e-books that I’m currently writing. So far, I’ve published the two first tomes. The [first one](https://gumroad.com/l/DevConcepts-Part-01-SoftwareCraft) is dedicated to the software craft, and explains the different skills that software crafters need to acquire & improve over the course of their careers. In it, I’ve shared many ideas about learning, productivity, time management, habits & professionalism. Check out [the table of contents](https://dev-concepts.dev/table-of-contents/?utm_campaign=DeveloPassion%27s%20Newsletter&utm_medium=email&utm_source=Revue%20newsletter) and [the sales page](https://www.store.dsebastien.net//product/dev-concepts-volume-01) for details. More recently, I’ve also published [the second volume](https://www.store.dsebastien.net//product/dev-concepts-volume-02), “What clients need”, in which I’ve written about how to best serve your clients by understanding what they really need (which is often not what they say :p). That volume covers ideas like User-Centered Design, User Experience, user research, usability, design patterns, design sprints, and more! Again, refer to [the table of contents](https://dev-concepts.dev/table-of-contents/?utm_campaign=DeveloPassion%27s%20Newsletter&utm_medium=email&utm_source=Revue%20newsletter) and check out [the sales page](https://www.store.dsebastien.net//product/dev-concepts-volume-02) if you’re interested. Each volume costs roughly the price of one or two coffees and should help you get a clear understanding of the concepts. If you can’t afford it, then send me a DM on Twitter, and I’ll give you a free copy. I’m also interested in giving free access to the content in exchange for honest feedback, so please don’t hesitate to reach out to me ;-) If you want to follow the project, then check out my weekly status updates on IndieHacker: [https://www.indiehackers.com/product/dev-concepts](https://www.indiehackers.com/product/dev-concepts) ## New Website & blog A while ago, I decided to renew my personal Website, [https://dsebastien.net](https://www.dsebastien.net/). I abandoned my old WordPress blog a few years back, and [the theme](https://github.com/dsebastien/midnightlight) was really getting old ;-) My main goal was to take back ownership of my content, which I wanted to be able to publish more easily at different locations. I’ve been blogging on Medium for a while, but my content is behind the paywall and I have mixed feelings about that. To be honest, I like getting money out of my writing and I fancy making a living out of it. But on the other, a number of you are annoyed by the paywall, which I completely understand. Now, I publish everything on [my new blog](https://www.dsebastien.net/blog/) first, then I cross-post on a few other sites like [Medium](https://dsebastien.medium.com/), [DEV.to](https://dev.to/dsebastien), and [HashNode](https://hashnode.com/@dSebastien). This way, even if my content is paywalled on Medium, it becomes freely accessible elsewhere. As an added benefit, it makes my content available for more people. If you know me a bit, you’ll guess that I couldn’t satisfy myself with a ready-made solution. As a proud hacker, I needed to make it on my own. Since I’ve been enjoying [Next.js](https://nextjs.org/) lately, I’ve decided to use it to create my blog. Next.js is really nice, quite easy to learn if you’re used to [React](https://reactjs.org/), and super easy to deploy using [Vercel](https://vercel.com/), which is no surprise since they’re the creators of Next.js 😅 For the blog part, I’ve taken (a lot!) of inspiration from Lee Robinson’s blog, and used Markdown with [MDX](https://github.com/mdx-js/mdx), [next-mdx-remote](https://github.com/hashicorp/next-mdx-remote) to load the content, [mdx-embed](https://www.mdx-embed.com/) to embed Tweets, Youtube Videos & Github gists, [gray-matter](https://www.npmjs.com/package/gray-matter) for the front-matter, [mdx-prism](https://www.npmjs.com/package/mdx-prism) for syntax highlighting, and [remark](https://www.npmjs.com/package/remark)/[rehype](https://github.com/rehypejs/rehype) plugins. Creating my new Website made it clear to me that Next.js really is a solid choice for modern Web apps. I think that Gatsby still has advantages in terms of developer experience (its GraphQL support is epic and the plugins ecosystem is great), but the feature set of Next.js with SSR, SSG & APIs is really cool. By the way, I’ve published an article explaining how to configure the Apollo client in a Next.js TS application. LINK: [[Configuring and using the Apollo client in a Next.js TypeScript application (Article)]] If you’re curious, the code behind my blog is [on GitHub](https://github.com/dsebastien/website-dsebastien). If anyone’s interested, then I’ll write a blog post about how the blog works ;p ## Angular news Even if I’m currently more interested in learning more about [Svelte](https://svelte.dev/), [Remix](https://remix.run/) and [RedwoodJS](https://redwoodjs.com/) than Angular, I still like to follow the evolutions. Angular 12 was released this week, so I took a few hours to review the changelogs in detail, in order to discover the changes in this new version. Based on that research, I wrote an in-depth article about the release: LINK: [[Angular 12 in Depth (Article)]] Ivy is finally becoming the default for new libraries (which is great), and library authors are encouraged to migrate to Ivy as soon as their users will also be using Ivy. Next to that, Angular 12 supports Webpack 5, which is awesome new for performance & support for micro front-ends (for those who care :p). With this release, Angular also supports TypeScript 4.2, and nullish coalescing in templates. Sass is also finally supported within inline styles, which is a great step towards lighter components. Once Angular modules become optional, Angular will have a real shot at rivaling with other lighter alternatives. I’m eager to see Angular evolve in that direction. Sadly, still not a lot of progress on the reactive forms front (still as weakly typed as ever), but there’s still hope. From now on, Angular’s ng build command defaults to production builds, which is a better default for most folks. They’ve also introduced support for Tailwind, making it a breeze to use it with Angular [🔥](https://emojipedia.org/fire/) On other news, IE11 support is finally deprecated (big yay!), which is wonderful for progress. Protractor is being abandoned in favor of more modern alternatives like Cypress, WebdriverIO, Playwright, TestCafe, etc. And there’s a lot more, so check out my article if you’re curious :) On other news, a while ago, I’ve published an article about lazily loading Angular applications (not lazy loading within Angular apps!): LINK: [[Lazy loading Angular applications (Article)]] And another one explaining the bootstrap process of Angular applications: LINK: [[How Angular applications start (Article)]] ## Tailwind’s Just-In-Time mode I’m a huge fan of [Tailwind](https://tailwindcss.com/). Something that I’ve been really psyched about recently is the release of Tailwind’s Just-In-Time (JIT) compiler. It started as a side experiment, but the results were so positive that it was quickly included and released along with Tailwind v2.1. Tailwind’s Just-In-Time mode will only generate CSS code for Tailwind classes that are really used by our application, instead of generating a 20+MB CSS file in development and having to post-process the CSS using PurgeCSS for production. Just because of that, the JIT compiler is awesome, as it makes for a much better developer experience (much faster dev tools because of the lighter CSS bundles!). But there’s more: LINK: [[Why Tailwind's Just-In-Time (jit) mode is a game-changer and how to use it right now (Article)]] LINK: - [[10 Essential Knowledge Management Methods Every Professional Should Master (Article)]] - https://www.dsebastien.net/10-essential-knowledge-management-methods-every-professional-should-master/-every-professional-should-master// LINK: - [[Why Obsidian is All You Need - From Simple Notes to Complete Productivity (Article)]] - https://www.dsebastien.net/why-obsidian-is-all-you-need-from-simple-notes-to-complete-productivity// LINK: - [[The Ultimate Beginner's Guide to Obsidian (Article)]] - https://www.dsebastien.net/the-ultimate-beginners-guide-to-obsidian// LINK: - [[Knowii Community]] - https://www.store.dsebastien.net//product/knowii-community