Is there a way to be able to employ Xamarin Maps in MVVM pattern by frameworks like Prism? For e.g. to be able to capture pinning on the map in the view model without having to breaking MvvM architecture? Or type in an address to reflect on the map?
Following this article about bindable maps may help until Xamarin folks implement it as a built-in feature.
Related
I have heard that it should be possible to add a dynamic dictionary, holding a set of terms or word list when you train your model. This should be possible in the Translation Hob today.
How to do this using V3 or NMT in portal.customtranslator.azure.ai using custom translator project?
/Mats
At this time the dictionary feature is not available in the NMT custom translator but it is a feature we are working on and will release in a future update.
What is the better framework for development Windows Store application?
I have used http://metroprism.codeplex.com/ but now I want to use Caliburn.Micro or MVVM light for another project.
I have looked through several application examples for these frameworks but they were not complicated enough for me to estimate usage in bigger projects.
These two ones are completely documented but the problem I think is that documentation for winrt mixed with WP7, Silverlight and WPF and I doubt a bit in supporting all features and practices of using exactly for Windows Store application.
Could you give me advice what is the better one? Or what are the good practices in development for Winrt with modularity supporting like in Prism for WPF and Silverlight.
Thanks.
MVVM Light and Caliburn.Micro basically do the same thing but they do it using opposing "philosophies of development" in MVVM.
MVVM Light is a "view first" approach. In this approach the ViewModel is instantiated in by the View. In MVVM Light this is done via something called the ViewModelLocator, a static class that binds a public property directly to the DataContext of the View.
Caliburn.Micro is a "viewmodel first" approach. Here you find that the viewmodel and view are created by an IOC mechanism that binds the two together. You navigate from viewmodel to viewmodel, with the views being generated in response to the navigation to a ViewModel.
They both have different features:
MVVM Light has a really nice messaging system for allowing view models to communicate with each other in a loosely-coupled way.
MVVM Light has a really simple mechanism for injecting design-time data into your views. Basically it swaps out your runtime services with design-time services that feed data to your viewmodels and, in turn your view. This makes design time data really easy to use.
Caliburn.Micro has an amazing data-binding setup, where it handles most of your databinding scaffolding for you. Basically, it maps the names of methods and properties to the names of controls in the view and autowires them. This saves lots of code and is a really, really nice feature.
Caliburn.Micro uses a "Convention over Configuration" mechanism to map views to viewmodels. MainView maps to MainViewModel, etc. This means you've got no configuration, you just need to make sure that you've got your naming conventions sorted out.
I've used both frameworks (Caliburn.Micro for WP7 and MVVM Light for Windows 8 Store Apps) and like them both for different reasons. MVVM Light is easier to start using but Caliburn.Micro is probably more powerful. I've found them both more than adequate for writing moderately complex applications quickly.
Caliburn.Micro gives you clean XAML at the cost of some magic. MVVM Light is a clean and simple framework that is easy to understand and works well. Prism seems to be a bit heavier than MVVM Light and more business app oriented - it does more than just MVVM. There are many things to consider. Choosing what you already know will let you focus on adding features, but learning a new framework can certainly be a good learning experience helpful in future choices - so you could pick something you haven't used before if you want to learn. You could also write your own framework and only include what you need. I usually go somewhere between roll your own and MVVM Light because that is what I know, though if I were to build a bigger enterprise app - Prism might be better suited for the task. I haven't used Caliburn.Micro because the novelty of different MVVM approaches wore off for me and I just want to create apps. With WinRT a roll-your-own-framework approach is easier than with any platform before because the basic project templates already give you some foundations as I wrote in my Minimalistic MVVM blog post. I would recommend that approach if you already tried MVVM and want to use only the pieces you need - the framework will grow with your app. You can just grab pieces of code from other frameworks if you need them or write your own implementations of the patterns you need.
To summarize
If you want to learn - try something you haven't tried before or write your own framework
If you want to create an app quickly and it is not a huge app - use what you know or go minimalistic and don't use anything but what you get from the templates
If you are building a big app with lots of features - consider Prism or rather first think whether Windows Store is the right target platform for you since it seems to be focusing more on simple in and out tablet apps
I'm evaluating Knockout to use with JayData to create a standalone web application.
Following this tutorial (http://jaydata.org/tutorials/creating-a-stand-alone-web-application) it seems that I will be able to store my data on iPhone, Android and in HTML5 browsers...
I'm not sure how can I use JavaScript Query Language with Knockout. I've seen they will have some support it, but I probably you have an idea how can I do it myself.
I'm not sure if Knockout is the appropriate UI library for hybrid applications, hopefully you can share some know-how.
Thank you!
UPDATE:
From version 1.1.0 JayData has knockoutjs integration module. Include "jaydatamodules/knockout.js" in your html page, and have JayData provide Knockout observables with entity.asKoObservable(). With this module queryable.toArray() accepts ko.ObservableArrays as targets populating it with kendo observable entities.
Custom Bindings is just the way for the integration you are after. You have to connect the knockoutjs way of interacting with the JavaScript objects with the JayData entity metadata functions and its propertyChanged / propertyChanging events.
It shouldn't be difficult a task to do, as JayData supports simple property notation (object.property) and async property accessor pattern (get_property(cb), set_property(cb)) as well.
You can integrate Knockout with jQuery by way of Custom Bindings. That answers your question about integration. Custom bindings allow you to integrate with any JavaScript UI library, not just jQuery.
In regards to your second question... Knockout really isn't a UI library. It's more of a framework to facilitate data-binding between DOM objects and JavaScript objects. It is used to design web applications following the MVVM design paradigm.
Here is an example It is integrated in recent release probably
i'm need to develop and web application that uses maps, and i have two option in my to reach the goal. Google maps or bing maps, my concern it's witch it's better about
Documentation it's very important
Implementation with a Web application develop in .net
Fast learning curve
i need recommendations because for my point of view both are a completed tools for solve my problem. Thanks
I strongly recommend Google Maps.
Fabulous documentation
Code Playground
Very fast learning curve
With the new v3 api you don't need a api key
Cheers
take a look at our series of articles comparing aspects of both, and Ill admit up front I like bing more but have tried to be as impartial as possible:
http://www.earthware.co.uk/blog/index.php/2011/02/ajax-mapping-apis-google-maps-vs-bing-maps-update-pushpin-display-performance/
http://www.earthware.co.uk/blog/index.php/2010/12/mapping-apis-google-maps-vs-bing-maps-update-api-download-sizes/
and the original posts:
http://www.earthware.co.uk/blog/index.php/2009/12/mapping-apis-google-maps-vs-bing-maps-part-1-introduction/
http://www.earthware.co.uk/blog/index.php/2009/12/mapping-apis-google-maps-vs-bing-maps-part-2-licensing/
http://www.earthware.co.uk/blog/index.php/2010/01/mapping-apis-google-maps-vs-bing-maps-part-4-developer-support-community/
(I hope this is a valid question)
As I stated in my title, I'm looking for a fairly easy to moderately easy idea for some sort of online raster analysis map. I'm familiar with ESRI and their really awesome API, as I'm hoping to tackle something on that front. I'm also open to using the mapstraction lib.
Does anyone have any ideas for me?
Thanks!!
I'm not sure you mean image rasters or data rasters. This uses open source packages: MapServer and an AJAX client MsCross. It generates data rasters on the server and displays them in the browser. The rasters are contour plots for a plume of contamination in groundwater.
If you are already familiar with ESRI, then you should look at the ESRI Flex API ESRI Javascript API. You can use both of them to fire up Server side Geoprocessing services.
There are so many ways to skin the cat...
You may want to check the Publishing a GeoProcessing Service section of ESRI help
The basic idea is this... you use ArcMap/ArcCatalog to author a Geoprocessing Model (I am assuming you are familiar with this), which you later expose in an ArcGIS Server as a Geoprocessing Service. Publishing a model as a service is pretty easy provided you already have an ArcGIS Server configured - see the links I provided you above.
Then you can either use the free ArcGIS Explorer application to consume that GeoProcessing Service or write a webapp using Flex, or Javascript or DotNet or even python to consume that webservice.
And yeah, don't consume the webservice synchronously - stick with async.
You do unfortunately not write, what exactly you need. Do you want to display maps on a web page or in a application?
In the latter case i would recommend using http://www.openstreetmap.org/ it seems to be a little tricky in the beginning, buts data base gets better and better. A number of renderes exist, which you can integrate into your application.