惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
IT之家
IT之家
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
C
Check Point Blog
T
Tailwind CSS Blog
博客园 - Franky
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
博客园 - 叶小钗
J
Java Code Geeks
腾讯CDC
罗磊的独立博客
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
B
Blog
V
Visual Studio Blog
F
Fortinet All Blogs

Inside Nutrient

A guide to the invisible work behind documents Introducing Nutrient Documents for Salesforce: Native document generation and signing Document AI vs. traditional OCR: Choosing between OCR, AI, and hybrid pipelines PDF SDK compliance and security evaluation checklist for enterprise teams (2026) Invariant Corp replaces paper processes with Nutrient Workflow and scales without limits What is process mapping? A complete guide Nutrient vs. Conga Composer for Salesforce document generation (2026) Document routing: How to automate document distribution The CTO’s AI playbook: Why accountability architecture beats orchestration Compliance workflow automation: Why built-in compliance is table stakes Workflow diagrams: Examples, symbols, and how to build one that actually runs Digital forms: Replace paper forms with automated workflows Approval workflow software: How to automate approvals Why document-centric automation is different The CEO’s AI playbook: Why decision architecture beats model selection Nutrient SDK product updates for Q1 2026 PDF redaction verification: How to prove sensitive data is permanently removed What is a VPAT? The complete guide to accessibility conformance reports What is PDF/UA? The accessible PDF standard explained Salesforce eSignatures: Generate, sign, and track documents in one flow Online document viewer: Options, tradeoffs, and how to embed one Document viewer for web apps: React, Vue, Angular (2026) Best document viewers in 2026: A buyer’s guide How to edit a PDF in Python: Add text, images, and annotations Nutrient advances Workflow platform with agentic AI for enterprise-grade speed and consistency in document-heavy operations How to create a Salesforce quote template from opportunity data The business case for accessibility: Five ways it drives enterprise value Python PDF library comparison (2026): 7 libraries for developers Why your AI agent hallucinates PDF table data PDF.js limitations: When to upgrade to a commercial PDF SDK
Technological advancements and software sustainability
Staša Bugarski · 2024-08-27 · via Inside Nutrient

In the dynamic world of software development, the decisions made by tech giants like Apple and Microsoft significantly shape the landscape of software development. To state the obvious, these decisions drive the software development industry forward with innovation — new frameworks, languages, and tools push the boundaries of what’s possible, enabling developers to create more efficient, performant, powerful, secure, and user-friendly applications.

At the same time, to keep up with trends and maintain, adapt, and improve software over time in a stable and consistent manner, developers face significant challenges that can disrupt the continuity and quality of their projects. Understanding these issues is crucial for navigating the turbulent landscape of modern software development.

Challenges in Maintaining Sustainable Software Quality

When big players make drastic changes, developers are forced to adapt to stay relevant and competitive. This can strain resources and significantly impact the quality of software projects, considering that — at times — it can become a “rushed job.” Developers need to invest time into learning new frameworks and tools, which can slow down development as they familiarize themselves with new paradigms. Additionally, adopting new technologies often requires updates to development environments, tools, and infrastructure, which can be both costly and time-consuming.

Maintaining support for legacy systems while adopting new technologies is another challenge. Rapid changes can make software accumulate technical debt, as developers might take shortcuts to quickly adapt to new technologies, potentially compromising long-term quality.

The rapid pace of technological change can have mixed effects on the profitability of software products. Frequent updates and migrations increase development costs. Small businesses and independent developers may find it particularly challenging to allocate the necessary resources. On the flip side, leveraging new technologies can open up new market opportunities. Cutting-edge features and performance improvements can attract more users and justify higher pricing models.

Transition Adventure: Smooth or Rocky Roads

Sometimes, transitions to new technology can be easy and seamless. For example, when TypeScript successfully superseded JavaScript, it also made sure that all JavaScript code remained valid TypeScript code. This means developers can gradually introduce TypeScript into their existing JavaScript projects without the need to rewrite everything from scratch. Here at PSPDFKit, TypeScript’s backward compatibility enabled our Web team to migrate from the previous Flow-typed codebase to TypeScript without involving complex refactoring while allowing us to continue working on our roadmap in parallel.

When Apple introduced SwiftUI, the company allowed the new framework to coexist with UIKit, enabling incremental adoption of SwiftUI in new parts of its applications while maintaining existing UIKit code. As a result of this, during the very week that SwiftUI was announced, it took us less than an hour to show a document using PSPDFKit in a SwiftUI app. Since then, we’ve increased the amount of customization possible when using PSPDFKit from SwiftUI, but if necessary, our customers can easily fall back to our UIKit-based API, which offers more customization points simply because it’s existed for so much longer. Internally, we’ve found SwiftUI is a great option for implementing new views or redesigns of existing ones while keeping most of our UIKit code.

However, there are also challenging examples of introducing new technologies. The most hurtful scenario is when developers invest time and money into adopting a new technology, and then the giants decide to deprecate it. What a waste!

A notable example is Microsoft’s deprecation of the Universal Windows Platform (UWP). It was introduced with the promise of a unified development platform for creating apps that could run on various Windows devices, leading many developers to invest heavily in it. However, Microsoft later shifted focus to the Windows App SDK, in turn requiring developers to migrate their applications to the new SDK, which was neither straightforward nor inexpensive. The shift also led to fragmentation, with some applications still relying on UWP while others moved to the new SDK. This fragmentation complicates the maintenance and integration of software across different platforms.

Balancing Innovation and Sustainability

At PSPDFKit, we deal with numerous platforms and technologies, and we have an established reputation for being at the forefront of new technologies. We’ve also experienced plenty of turbulence with new technology. Sometimes it’s easier, and sometimes it can be very painful, but we always strive to keep up with the newest trends and offer our customers innovative and reliable solutions. We try to be smart about it, adopting new technologies incrementally, while keeping support for deprecated ones for customers who aren’t particularly keen on making changes. Maintaining detailed documentation of both deprecated and current systems helps our customers navigate often tectonic changes more effectively and ensures knowledge continuity.

Does a conclusion lend itself here? Well, yes and no. While there are good practices for balancing innovation and sustainability — like we achieve with incremental adoption with phased rollouts and hybrid approaches — the reality is that we cannot control the direction in which the market moves. Big tech will continue to drive innovation at a fast pace, and as developers, we must remain agile and adaptable. Ultimately, our ability to thrive in this ever-evolving landscape hinges on our willingness to embrace change and continuously learn, ensuring we can deliver cutting-edge, high-quality solutions to our customers.