ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
This is an old revision of the document!
As we strive to make the installation process and the version maintenance easier, we re-packed all Map Suite Products and dependencies to NuGet packages. Developers can choose either installing reference locally or managing by NuGet manager with Visual Studio or setup a local NuGet server for your small team.
As you know, Map Suite Products help developers to be more productive to create GIS applications. It can be more productive in the process of including Map Suite components into your projects and share your projects without the reference assemblies.
In Map Suite 9.0, we have most of the supporting features in one assembly calls “MapSuiteCore” and few extension assemblies. While the other products are infrastructed above it. When you kick start your project, you can only reference the “MapSuiteCore” which includes full featured that Map Suite supports. There is no choice to minimize your project.
One big thing we decide to made is to separate our Map Suite Core by functionality. Such as shapes, layers, styles, symbologies etc. There is still a low-level assembly that will be relied by the other features. Every feature that Map Suite supports you ever know might be a separate package. You could choose whatever your project is going to use. Limit your application to the smallest size.
By Map Suite 9.0, we are considering to support Multi-platform, like Linux, MacOS, Android, iOS. But the infrastructure prevents us from walking towards it. If you are already a developer using Map Suite products, you might know we support Windows, iOS and Android platform. But We are suffering this for a long time. Imagine this situation. A customer reports a bug in MapSuiteCore on Windows platform. We fix it and test. But it is not all done. What we have to do is to report to the iOS and Android team to ask them to fix the same bug. That's the infrastructure's fault. We have several branches of MapSuiteCore which is depending on different framework. Each time we fix the bug, we need to synchronize to the other platforms. It is a really a bad experience.
Now, the good one for us is to make the Map Suite Core's source code as portable as we can. With the opportunity of separating the MapSuiteCore, we could translate our existing functions by functions to portable; in another word, we could share the same source code for various platforms. PS. Thanks to Microsoft PCL and shared project as well.
Authentication and Licensing is one weakness of NuGet package. Unfortunately, it doesn't support it by default. But we created a new strategy for non-registered developers to have a chance to available to evaluate Map Suite Products without registration in a limited period. What you only need to do is, open your Visual Studio, create a project, open NuGet manager and type “MapSuite”, it represents you the full function list of Map Suite supports. Then you could take your time to enjoy the GIS development. PS. The original license is still compatible with 10.0.
We currently know the benefit of using this new Map Suite NuGet packages, you could do the whole thing from within Visual Studio via the console or GUI, and you can check for components updates in real-time. You could easily setup your own NuGet server for your team and easy to share your project.
How do you feel about this? Is it a good experience for you to develop your GIS application? Is it better than using installer or product center in some scenario?
Let us know what you think, and we will try our best to improve the development experience.