Skip to content

Commit

Permalink
Add future of Enhance article; linter run
Browse files Browse the repository at this point in the history
  • Loading branch information
colepeters committed Oct 23, 2024
1 parent 5f3c3c0 commit 07f4bde
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 9 deletions.
47 changes: 47 additions & 0 deletions app/blog/posts/2024-10-23-future-of-enhance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: "Enhance is Here to Stay"
image: '/_public/blog/post-assets/cole-future-of-enhance/future-of-enhance-cover.png'
image_alt: "Axol sliding down a rainbow with a heart cloud in the background"
category: enhance
description: "The Begin team joins Sanity; Enhance lives on!"
author: 'Cole Peters'
avatar: 'cole.jpg'
mastodon: "@[email protected]"
published: "October 23, 2024"
---

As [you may have heard](https://begin.com/blog/posts/2024-10-23-sunsetting-begin) — or in case you haven’t — we (the Begin team) are excited to announce that we are joining [Sanity](https://www.sanity.io)! As Magnus, Simen, and Even have said [on Sanity’s blog](https://www.sanity.io/blog/welcoming-the-begin-team-to-sanity):

> The team at Begin has a wealth of experience in building developer-focused tools that abstract away complexity. This aligns perfectly with Sanity's mission to empower developers and content creators to build exceptional digital experiences without friction.
We’re all delighted to be joining such a talented, supportive, and dedicated team and company, but we understand that you may be wondering what this means for the future of Enhance.

In short: Enhance is here to stay.

## The future of Enhance

Built on top of [OpenJS Architect](https://arc.codes), Enhance is and will always be an open source initiative. While Begin has been acquired by Sanity, Enhance will remain an independent labour of love, maintained by the Enhance core team and the open source community.

Realistically, we imagine that *major new feature developments* will likely be put on pause or proceed at a slower pace. We’ve been fortunate to make Enhance a significant part of our full time jobs since its launch, but as we’ll now be spinning up full time at Sanity, our work on Enhance will be carried out on our own time going forward.

That’s not necessarily bad news, though. Enhance is positioned as a supporting layer for the web platform itself, which means we don’t have a thick stack of dependencies or pipelines to juggle and maintain, and most anything you can do with web technologies can be done within an Enhance project, too (and this should remain true as the platform continues to evolve). What Enhance aims to be good at — backend rendered web components, progressive enhancement, file based routing, and database backed APIs — are things it’s *already* good at. In most cases, all that needs adding is your imagination.

This makes Enhance an eminently stable framework and an excellent choice for building new websites and applications, and we intend to keep it that way. (Also note that Enhance has been stable and without major breaking changes since we first shipped it more than two years ago!)

Security patches, bug fixes, and the like will continue to be made by our team, and you’ll continue to be able to reach us via GitHub Issues and [Discord](https://enhance.dev/discord) with any questions, issues, or feedback you might have.

Furthermore: Enhance has always had its eye on the long term. We believe in intentional, incremental growth when it comes to Enhance, always with an eye towards web standards, performance, accessibility, and maintainability. That sometimes means we move a little slower than other frameworks, but it also means we break far less often. Enhance projects are thus set up for stability and longevity in ways that many modern frameworks struggle to match.

We’re confident we’ll still be here for many years to come, and we hope you’ll be here with us!

## Migrating to Architect

If you’re currently deploying your Enhance application with Begin, you’ll need to migrate to [Architect](https://arc.codes) (the open source deployment toolkit that both Enhance and Begin use under the hood) by January 1, 2025.

Ejecting to Architect has always been an option for Enhance app developers, so no new work is required on our end to enable this. If you’re already familiar with Architect, you can get started on this at your leisure.

For those who haven’t used Architect before, we’ll soon be publishing more explicit guidance on migrating from Begin. Watch this space, or feel free to [reach out on Discord](https://enhance.dev/discord)!

## Thank you

While this isn’t ‘goodbye,’ we’d personally like to thank all those folks out there who have given Enhance a try (and those who’ve stuck with it) over the last couple years for your support, excitement, questions, contributions, and conversation. It’s been a joy to work with you to bring more focus and excitement to web standards based development. We have every faith that the web platform will continue to be an increasingly exciting place to build, and we look forward to continuing to explore Enhance’s place in all of it.
15 changes: 9 additions & 6 deletions app/elements/blog/hero-image.mjs
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
function createUrl(label, url) {
function createUrl (label, url) {
if (label && url) {
return `<a href="${url}" class="underline">${label}</a>`
} else if (label) {
}
else if (label) {
return label
}
return null
}

function createCaption(photographer, site) {
function createCaption (photographer, site) {
if (photographer && site) {
return `<small>Photo by ${photographer} on ${site}</small>`
} else if (photographer) {
}
else if (photographer) {
return `<small>Photo by ${photographer}</small>`
} else if (site) {
}
else if (site) {
return `<small>Photo on ${site}</small>`
}
return null
}

export default function BlogHeroImage({ html, state }) {
export default function BlogHeroImage ({ html, state }) {
const { store } = state
const { frontmatter } = store.post
const { image, image_alt, image_site, image_site_url, photographer, photographer_url } =
Expand Down
2 changes: 1 addition & 1 deletion app/elements/blog/image.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default function BlogImage ({ html, state }) {
const { attrs } = state
const { src, alt, fetchpriority = "auto", loading = "eager" } = attrs
const { src, alt, fetchpriority = 'auto', loading = 'eager' } = attrs

return html`
<enhance-image
Expand Down
2 changes: 1 addition & 1 deletion app/elements/blog/pagination.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export default function BlogPagination({ html, state }) {
export default function BlogPagination ({ html, state }) {
const { store } = state
const { limit = 20, offset = 0, total = 1 } = store

Expand Down
2 changes: 1 addition & 1 deletion app/elements/blog/series-entry.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export default function SeriesEntry({ html, state }) {
export default function SeriesEntry ({ html, state }) {
const { attrs } = state
const { href, title } = attrs

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 07f4bde

Please sign in to comment.