I'm just getting started with using the APIs (Acad and Revit). We use C3D 2014 and Revit 2014.
I'm wondering how to go about best ensuring future compatibility (such as when some users get a new PC which will likely have the newer OS or when we upgrade to C3D 2016 and Revit 2016).
Don Ireland
Engineering Design Technician
Keith,
Does this AutoLoader somehow build my app/extension (make a new DLL)? From what I read, this AL seems like it is more to ensure that the right version of DLL is loaded.
My query is about making sure that my code stays compatibile (or as close as possible) upon OS/Platform upgrades.
Don Ireland
Engineering Design Technician
P.S. I understand that nobody here can predict the future.
But by the same token, I'm sure that there are things that expert coders do as a matter of routine, to make the upgrade process as easy as possible. It's that type of info that I'm after.
Don Ireland
Engineering Design Technician
Hi,
It seems my post was deleted, can some one confirm that?
Gaston Nunez
Don Ireland
Engineering Design Technician
Thanks Don,
I think it was some kind of censorship as in my post expressed some concerns about the future that imply a possible new business model for Autodesk, here I go again:
First I said that it's little that you can do for ensure future compatibility, as nobody can guess the future, and my main concerns are about three things:
1.- Dwg file format, we expect a change at next version as we have 3 version with 2013 file format, so we will have, probably, a change in the API next year, so a recompile it's the minimum to expect.
2.- .NET Framework, MS can made a radical change any moment now, that can be disruptive.
3.- Autodesk Business Model, if Autodesk decide to full embrace the Cloud path with an SaaS Autocad as only option, we are (almost) doomed, all will change, and etc etc.
4.- I don not expect radical changes in OS as we are in 64 bit, with little to none hope to, massively, go to 128 bits in at least a decade or so.
Some links:
Finally I mentioned a couple of coding practices that may, and usually does, affect future compatibility: Interop as it's platform and version dependent, and third party libraries that we have no control.
I will keep a copy this time, just in case.
Gaston Nunez
It is a great post Gaston. As it draws a bigger picture of future development on AutoCAD.
I am working on some new technologies which will apply to AutoCAD and other CAD products. Here are some things I did to ensure compatibility between software versions:
Microsoft for sure will promote their .NET framework as the heart programming tool. This framework is very mature with large developers and supported products.
Open source projects and JavaScript is the huge trends to promote web applications and move desktop applications to the cloud. Autodesk Business Model is on the way to the cloud with minimum impacts on existing developers. Autodesk cannot wipe out all developer knowledge with the totally new API (which is cloud-oriented). It will be a transition to move from desktop to cloud on products, but not for big changes on APIs. Therefore, we will not be doomed with new knowledge, just need to learn more.
JavaScript is a big change on API which tries to tie AutoCAD to the web. It still needs time to be side by side with .NET. JavaScript has many advantages which .NET developers should start to learn. However, JavaScript may eventually be replaced by TypeScript (from Microsoft) or Dart (from Google) which are closer to modern programming languages like C#.
In short, .NET is still a safe place for developers in this forum. Microsoft is the big giant behind, and Autodesk will maintain it to keep all existing developers and products, like legacy AutoLISP. Compatibility is to ensure new Microsoft .NET framework and new Autodesk APIs. Their products are moving cloud but their APIs still keep the same, with new extended cloud APIs.
-Khoa