laitimes

A new future for the front-end!

author:CSDN
A new future for the front-end!

With the rise of AI technology and the emergence of many low-code/no-code tools, the "front-end", which was once a popular field, has gradually become less optimistic, and some people have even made some radical statements such as "the front-end is dead".

Original link: https://redmonk.com/kholterhoff/2024/03/28/the-future-of-frontend-is-already-here/

Reproduction without permission is prohibited!

作者 | kate holterhoff

Translator | Meniscus

出品 | CSDN(ID:CSDNnews)

Engineers at the top of the tech stack are on the horizon for an emerging market, as the software industry moves toward packaging, hosting, and abstracting solutions with the goal of minimizing the pain of the backend and infrastructure, which are areas of development that front-end engineers are less interested in.

I think we all want to offload, abstract, and move operations to the cloud, and front-end developers aren't the only ones looking forward to it. In fact, more and more developers, whether front-end, back-end, or operations, are describing workflows that they want to delegate the low-level work to a hosting provider.

Discussions about the future of the front-end are very popular at the moment. Josh W Comeau rejects the myth that AI will lead to the "end of front-end development", while Shahan Chowdhury has a post "The Future of Front-End Development" arguing that AI and no-code/low-code can only assist front-end developers, not replace them. In addition, posts by Emma White, Ritesh Kumar, and Luigi Toporov, among others, discuss the current state of JavaScript and web development. However, I think all of this rhetoric misses one point: the front end is going to be emerging. That said, the role of the front-end developer in the purchase decision will continue to grow as abstract solutions with the goal of reducing the burden on the back-end and operations are improved.

A new future for the front-end!

From BaaS to PartyKit

First, let's talk about vendors that specialize in front-end engineers and the role of cloud-based abstraction in establishing a market position for front-end development.

Sunil Pai, president of PartyKit, is a well-known figure in the React, JavaScript, and CSS space, and PartyKit is aimed at front-end engineers, who has been present at the front-end podcast JS Party. Sunil Pai's latest project, which has received a lot of attention, aims to simplify real-time synchronization, which has long been a problem for developers, especially when multiple developers are working together (such as Figma, Google Docs, and Replit).

PartyKit represents a case of the rise of the front-end, showcasing not only the innovation happening in the JavaScript space, but also the strength of the front-end buyer market. Vendors have taken note of the success of platforms dedicated to front-end developers and are eager to launch their own solutions to meet market demand. JS Party co-host Kevin Ball said:

I like the description [of PartyKit]: "PartyKit is similar to Vercel or Netlify, except that you're building real-time applications...... Vercel and Netlify are very good, and their goal is: "If you're a front-end developer and you know what you're doing, you can rely on us." We can take care of all the other work, and we can make it easier. And you say, "I want the same for multi-person collaborative development." ”

According to Ball, there is also a precedent in the market: platforms that eliminate the pain of managing back-end operations. These vendors include not only Vercel and Netlify, but also BaaS companies such as Supabase, Google Firebase, MongoDB Atlas, AWS Amplify, and Appwrite. This also includes companies like Zephyr Cloud, a cloud services company founded by the inventors and maintainers of the Module Federation, a micro-front-end containerization technology that aims to make it easier to develop and manage micro-frontends. Among both existing companies and newly formed startups, the number of companies that see front-end developers as a profitable and buying-hungry customer base is growing steadily. All of these companies recognize that the cognitive load of self-managing operations and infrastructure, not to mention the challenges posed by databases, security, authentication, and observability, is that it doesn't have to be handled in-house.

A new future for the front-end!

More abstraction

Front-end developers have emerged as an emerging market thanks to a series of software development trends with the rise of cloud hosting abstraction. Abstract solutions simplify and extend the use of these primitives, which would otherwise be difficult to manage. In the case of PartyKit, the primitives in question include Cloudflare's Durable Objects, which are essentially Cloudflare Workers but have in-memory state.

Here, let's tell the story of primitives that gave way to hosting services. First, in software development, the history of service abstraction also applies to language. There are fewer and fewer programmers who spend time writing code for bare metal and low-level languages. While less human-readable languages like C, assembly, and Fortran aren't going away anytime soon, Rust is attracting a growing number of supporters, and most developers write high-level code on top of the tech stack on a daily basis.

The State of GitHub Octoverse 2023 report confirms this trend. According to their research, of the 20.2 million developers (individuals with GitHub accounts), the number of developers has "increased by 21% over the past year," with JavaScript remaining the most popular language. RedMonk's own language rankings confirm this finding: JavaScript has been the most popular language since 2015. In fact, 6 of the top 7 languages are from the top of the tech stack, and three of them are client-side languages (JS, CSS, and TypeScript). Based on these surveys, I can conclude that as the software field continues to flourish, most of the new developers entering the field will be working on the front end.

In addition to the language written by developers, modern software development relies heavily on services that abstract away menial work and complexity. While some grumpy system administrators will undoubtedly be unhappy with this manifesto, the truth is that outsourcing operations is becoming increasingly popular because operations are difficult, infrastructure is expensive, and security and compliance risks are high.

A new future for the front-end!

API economics vs. cloud native

The front-end becoming an emerging market is the result of the proliferation of abstraction, which has become an inevitable trend. Managed services can improve security by offloading complex and time-consuming tasks such as user authentication to domain experts; You can also hand over highly regulated services, such as POS systems, to domain experts. This allows companies to focus on developing business logic. In terms of front-end tooling and supply ecosystems, this shift to abstraction stems from full-stack failures. Although the rise of full-stack engineers is good for employers, the concept has been widely slammed by many in the field because expecting developers to have everything under their control puts an unnecessary cognitive burden on them. As Laurie Voss puts it:

Abstracting the details can help us get out of the misery of the ever-evolving technology stack.

Below, we delve into the topic of abstraction by reviewing the so-called API economy. APIs have been key to the development of cloud computing since 2000, with Salesforce and eBay allowing access to their own web APIs back in 2000, and many companies have embraced the idea of "asking the developer" to "eat the world," to quote Paul Lehair. APIs are the key to modern software development, and front-end engineers happen to benefit from this development. J Chris Anderson, one of the co-founders of Couchbase and currently working at Fireproof, a database startup for front-end developers, states:

APIs are currently being integrated into the front-end, which is why the front-end has purchasing power and is an emerging market.

More recently, the integration of large language models has also seen the rise of API-driven development. Instead of having to train models themselves or host them locally, developers can easily build chatbots with the likes of OpenAI's ChatGPT, Google's Gemini, or Anthropic's Claude, all of which developers can use seamlessly and simply by integrating these vendors' APIs. In fact, OpenAI's custom GPT provides a customized experience that takes the pain out of training and autonomously hosting these models. They take the developer experience very seriously and provide thorough documentation, quick start guides, and SDKs.

In addition to the front-end engineer's familiarity with the API, the abstraction provided by the vendor for these users is often cloud-native. Brian LeRoux, co-founder of Begin, is optimistic about the future of front-end as an emerging market, given the high level of cloud familiarity in the field. From the supplier's point of view:

Front-end engineers are a great marketplace for migrating to a new cloud.

Because front-end developers must consider the backend when building dynamic, interactive websites, they are well aware of the importance of serverless and cloud hosting. In fact, the server/client two-step challenge has not yet been solved, and the brainpower of a large number of bright developers in the field has been used to solve these challenges.

A new future for the front-end!

Abstract questions

Of course, there are drawbacks to using these highly abstract solutions. Abstracted products and services are often delivered in the form of APIs and libraries, while also bringing other people's code into the project. This means that beauty and danger coexist. Abstract solutions require a specific form for the project and are often difficult to scale as the project scales. I've heard the old idea that Twitter has to change its backend from Ruby on Rails to Scala (a language built on top of Java) because low-level languages like Java are more extensible. Languages like Java are still invaluable when it comes to handling heavy processes and caching layers. However, large apps like Twitter are the exception rather than conform to the rules, which means that growing pains don't stop most developers from using JavaScript and TypeScript.

In addition to the problems of scale, the cost of abstracting complexity through managed services and products is often prohibitive. To simplify development, Vercel packages AWS primitives in a very simple build experience that doesn't require any configuration, but users have to pay for this convenience. This has led some developers to complain that Vercel is ridiculously expensive. Despite the increased overhead, many companies find that the overhead is well worth it without having to hire engineers to manage the infrastructure. Joe Emison, co-founder and CTO of Branch Insurance, has made a business case for leveraging cloud services and hiring and training junior developers who specialize in front-end skills:

We have better and more robust cloud services to build on (e.g. AWS, GCP, Azure, Netlify, Twilio, Stripe), so there will be an increase in developers who care about interfaces.

In other words, outsourcing operations to a hosting provider allows Branch's engineering department to focus entirely on the UI and front-end interface. Although Branch is an extreme case, the future of software development is moving in the direction that Emison paints.

Now, let's talk about one last factor that many developers rely on abstraction and managed services, but here's the negative news: the so-called existential threat to careers. I've discussed the stereotype that people have on the front end: there is a perception that these types of engineers are overlooked because of their predominance with women, and that the position is occupied by a large number of junior developers. For those who hold this stereotype, a front-end-dominated future means the end of software engineering. In this way of thinking, front-end engineers are on par with citizen developers who rely solely on low-code and no-code solutions. If we're really counting on AI and low/no-code to replace software engineers as James Somers mentioned, then we're really on the verge of a "waning of craftsmen."

But I don't agree with such a negative mindset about looking at the front-end driven future. I think it's quite the opposite, and a lot of innovation is on the front end. Any vendor that holds the belief that front-end engineers are incompetent and unskilled will eventually fail to become an audience for overpriced black box solutions.

A new future for the front-end!

The front end is dead, the front end lives on

I have one last point to say about the latest emerging markets. Similar to any kind of transformation, the road to the front-end is not smooth, but under the specific conditions of software development, this process is accompanied by a redistribution of roles, and the traditional divisions between front-end and back-end, client and server, static and interactive, etc., become increasingly blurred. Many have long criticized terms like front-end and back-end, with Melissa Mcewan noting: "This categorization became obsolete about a decade ago, but it's still alive today." ”

Reddit user n9iels agrees: "In my experience, the front-end space is moving from HTML/CSS/JS to include back-ends that serve the front-end. Especially for websites built entirely with React or Angular (SPA), the line between the front and back end becomes very blurred. ”

Terms like "front-end", "back-end", and "full-stack" don't accurately reflect today's software development lifecycle, so they are eventually replaced by new developer types. While I don't think the term "front-end" will be abandoned anytime soon, in practice, the field is bound to continue to change. Front-end development is a new breed of engineer who leverages APIs and cloud services to implement high-performance, interactive user interfaces. These developers will work across the entire tech stack, but unlike full-stack engineers who assume they know everything, these new types of developers will take the tools at hand and innovate where they fall short.

The sun has risen at the forefront, but this field is a star that is still developing. While the software industry seems particularly volatile due to the uncertainty created by the boom in AI technology and the disappearance of zero-interest rate funding policies, vendors are realizing that developers working at the top of the tech stack are in a good position. The industry and market are becoming more and more complex, but developers working in the front-end space have faced these challenges head-on. One might think that this will create a large number of mechanized developers who will blindly fall under the rule of hyper-scaling services, but I think that as the development workforce continues to move up the stack, improvements in the client and user interface experience (e.g., caching, WebAssembly, server-side rendering, containerized micro-frontends) will grow in parallel. Today's brightest stars and the most pioneering developers in the software industry are working in the front-end space because it uses their favorite cutting-edge technologies.