JNBridge Makes the .NET Core-to-Java Connection
- By John K. Waters
Java/.NET interoperability solutions provider JNBridge has released version 10 of its flagship JNBridgePro tool, the first version to support Java interoperability with both the .NET Framework and the upcoming .NET Core 3.0. It also supports the new Visual Studio 2019, which was released in April.
The Boulder, Colo.-based company's namesake product is a general purpose Java/.NET interoperability tool designed to bridge anything Java to .NET, and vice versa. The tool allows developers to access the entire API from either platform. It connects Java and .NET Framework-based components and applications with simple-to-use Visual Studio and Eclipse plug-ins that remove the complexities of cross-platform interoperability.
Originally released in June 2016, .NET Core is a modular, high-performance, open source implementation of the .NET Framework. Although it has been around for nearly three years, and many consider it to be the future of .NET, JNBridge waited to support it until now because the earlier versions were too minimal, explained the company's CTO, Wayne Citrin.
"When the .NET Framework was first released, it was pretty complete, with lots of APIs," Citrin told ADTmag. "But the earlier versions of .NET Core were pretty small, lacking some key APIs, and they were narrowly focused on server applications and ASP.NET Core apps. We have always supported server apps and ASP.NET, but many of our customers use JNBridgePro to develop desktop apps."
Specifically, the 1.x releases of .NET Core lacked the Reflection.Emit APIs necessary for both generation of proxy DLLs (Dynamic Link Libraries) and for runtime generation of dynamic proxies, he explained. Subsequent versions added the Reflection.Emit APIs, but there was still a problem with the generation of proxy DLLs, which forced the company to use the .NET Framework's proxy tools. Plus, .NET Core has always lacked the APIs for .NET Remoting, which JNBridgePro uses to implement the various communications mechanisms that connect the .NET and Java sides. With Reflection.Emit missing, Citrin said, it didn't make sense to expend the effort to reimplement cross-platform communications without .NET Remoting, but once Reflection.Emit was available in version 3.0 (in preview, set for general availability in September), it made sense to take the time to work around the other missing APIs.
"Version 3.0 is now a mature platform," Citrin said. "And part it adds support for desktop applications, which means the range of applications we can support on .NET Framework and .NET Core are about equal. In other words, it has enough of what we need to do just about everything we want to do. And where it doesn't, there are workarounds."
One of the reasons .NET Core is seen as the future of .NET, and the .NET Framework may be drifting into legacy is that the newer framework runs equally well on Windows, Linux and macOS. The latest release of JNBridgePro works on Windows and Linux; support for macOS is coming, soon.
JNBridgePro 10 is available now, and there's a free trial available for download from the company Web site.
John has been covering the high-tech beat from Silicon Valley and the San Francisco Bay Area for nearly two decades. He serves as Editor-at-Large for Application Development Trends (www.ADTMag.com) and contributes regularly to Redmond Magazine, The Technology Horizons in Education Journal, and Campus Technology. He is the author of more than a dozen books, including The Everything Guide to Social Media; The Everything Computer Book; Blobitecture: Waveform Architecture and Digital Design; John Chambers and the Cisco Way; and Diablo: The Official Strategy Guide.