Very soon we will release the first Linux version of TX Text Control and today we would like to give you an overview of the changes in the NuGet packages starting with version 33.0. The new version of TX Text Control .NET Server will include 2 different product versions:

  • Classic Windows only version
  • Core cross-platform version

We named this version Core not in reference to the old .NET (Core) name, which is not part of the official naming, but because it delivers the core functionality as .NET assemblies with native, platform-specific dependencies.

The following diagram shows the overall package structure:

TX Text Control NuGet Packages

TX Text Control 33.0 contains 2 different NuGet packages, one for Windows only based on the traditional (classic) version of TX Text Control and the core version which is cross-platform compatible. The NuGet packages for the Document Editor and Document Viewer are compatible with both versions and can be installed as they were in the previous version. We also support the same packages (npm and NuGet) for various front-end implementations, including Angular, Blazor, JavaScript, and React.

When deploying the created applications, the Windows-only version automatically publishes all .NET assemblies and Windows-only dependencies. When the new cross-platform version is published, all .NET assemblies compiled for .NET 8 and target specific dependencies are copied automatically compatible with win-x64 and linux-x64.

Native Linux Files

For various reasons, we decided to create Linux and Windows specific libraries. The main reason is performance. Our native libraries are written from the ground up in C++ and compiled for currently supported Windows and Linux. But this is not limited - it opens our technology to other platforms such as Java, native iOS apps or any other platform. NET as a platform provides a perfectly orchestrated developer ecosystem, and we will fully provide libraries for it, but this technology decision doesn't close off other opportunities.

Independence in Technology Stack

As a component vendor, the decision to minimize third-party dependencies is a strategic one with long-term benefits. While third-party libraries and open source projects can provide convenience, they also introduce risks and limitations. At Text Control, we strongly believe in developing our own core components to ensure complete control over our technology stack.

One of the most important benefits of minimizing third-party dependencies is the ability to maintain complete control over the technology stack. For example, instead of relying on Skia to render text as a successor to GDI and GDI+, we made the bold decision to develop our own rendering engine based on SVG. This custom solution allows us to tailor the rendering process to our needs, ensuring optimal performance, accuracy, and compatibility.

Similarly, for essential functionality such as JSON and XML parsing, we choose to develop our own parsers rather than integrate with existing third-party libraries. This approach ensures that our parsers are optimized specifically for the document processing needs of our users, rather than being general-purpose solutions with unnecessary overhead.

All of our key components, including PDF export and other key elements, are built in-house. This ensures that all core functionality is tailored to our needs and the needs of our customers, providing maximum performance, reliability, and compliance.

There are significant risks associated with relying on external libraries, including:

  • Dependency on external roadmaps: When using third-party libraries, vendors are dependent on the development roadmap of external maintainers. If a library becomes obsolete, changes direction, or introduces disruptive changes, the vendor must respond, often causing unplanned refactoring and delays.
  • Security vulnerabilities: Open source libraries are often targeted by attackers, and vulnerabilities can expose users to security risks. By controlling our own code, we can ensure the security of our software without being affected by third-party vulnerabilities.
  • Licensing and patent risks: Many open source projects come with licensing restrictions that can create legal and patent risks for vendors and their users. By developing our own technology stack, we mitigate potential legal complications and ensure compliance with our customers' strict requirements.

Optimized Performance and Stability

By developing custom components, we can optimize performance for our specific use cases. Third-party libraries are often designed for broad applications, making them more generic and sometimes inefficient for specialized needs. Our custom solutions ensure that each component is designed and fine-tuned for our exact needs, resulting in better stability and efficiency.

Maintaining a clean and independent codebase ensures the long-term sustainability of our technology. With our own components, we control updates, enhancements, and bug fixes without being at the mercy of open source projects. This autonomy allows us to provide better long-term support and compatibility for our users.

Stay tuned for the upcoming release of TX Text Control 33.0 with the new cross-platform version.