Quality of OData in Mono for Android - wcf

I am looking to create some cross platform libraries. One of the most important things for me for my mobile platforms is to access web services. After doing quite a bit of reading, it seems that the best solution would be to write against DataServiceContext (wcf-data-services-client).
Before I write my cross platform library and start my mono for android trial, I wanted to know if anyone has any experience with this library on Android? Does anyone have any experience using any of the WCF client libraries on Mono for Android? Any information or personal experiences on the subject would be helpful.
Thank you.

Related

Cross platform app deployment & testing without buying devices

I have developed an app in android studio i would like to make it cross platform just dont know how to test my app on windows, apple and other devices in the market. So still have not been able to choose the cross platform cloud OR cross platform IDE yet. Can some one share their experience if they have done this or any alternative process for developing - testing - deploying without device?
I am not an expert, but I would suggest searching for a mobile virtual machine - either one that can be used on a mobile device or on a computer.
Here is an interesting article about VMware. Maybe it can give some ideas.
Here is the best answer i could found.
Check out this link here has shed load of information that is indeed useful.

Is it possible to develop google glass apps using objective c?

I have gone through a deep research on developing google glass apps using objective c ,but I have found that we should only use Java/Python/PHP to develop google glass apps. Since I am an objective c developer I am looking for some static library or framework for xcode, which is built to develop apps for google glass. Please give me any idea, is there any such frameworks/Library? Any of your suggestions would be much appreciated.
Yes, Google provides an Objective C API library at https://code.google.com/p/google-api-objectivec-client/ that includes generated routines for the Mirror API. You should probably also consult the documentation at https://developers.google.com/glass/develop/mirror/index for a broad understanding of how the Mirror API works.
Note that this will allow you to develop web services that work with Glass. It will not allow you to develop applications that run on Glass itself. It also will not allow you to write iOS applications that communicate directly with Glass - it will need a network connection to the Mirror server at Google and there may be some restrictions about how a callback will work.
Android SDK is what you use to create .APK files to run on an android or google glass device. It is based on the java platform.
Just like Prisoner says you can mess with the mirror API by sending cards to your device in almost any language via those starter kits.
If you are actually trying to make glassware you will need the Android SDK. Unless you are a very experienced programmer I wouldn't try to program in C to create apps going on glass.
On a side note: if you are a new programmer and are only experienced in C, try to learn python. Python is great for programming in C with a variation called CPython.

C# mono inter process, inter application cross platform messaging implementation. (How to)

I am developing applications and c#, I at the moment, I work on projects for Windows Platform only. However, I am planning to move into using C# mono to make my programs be able to work with linux, mac-os and windows.
One of the feature I am implementing in my program is the ability to communicate between them (ie. A Console type program that can communicate and interact with GUI Program by sending commands and receiving reply messages, logging messages, signals,.etc). Back in windows dotnet framework, I am looking at anonymous pipes, but now, I am checking if Mono.Unix.UnixPipes will do the job for me and will let me implement inter process messaging with very little to no adjustments at all under linux, mac-os and windows.
I am a little bit new to this kind of feature, and i am now reading into the documentations (however, class and objects documentations are not helping me so much yet). I am also browsing to some of the inter process messaging questions that are posted here in stackoverflow.
If anyone has a link to a tutorial kind of document or example on how to do this, it will be a great help. please help?
thank you.
I highly recommend running a mongodb (easly scalable from a dev boxes to hundreds of servers) and using the library https://github.com/dominionenterprises/mongo-queue-csharp on top of it for the messaging. It has the ability to query for messages which enables some really nice patterns. Also its compatible with mono ! Also has some other languages if needed down the road.

Application framework to develop web and desktop applications?

Recently I was asked by someone if there is such a magic framework that will allow one let's say to design and build once a single library of controls and then use them separately to build web and desktop applications.
Does Google, Microsoft or other company have such a RAD framework and tools?
Thx
Depends on how you define a Web App. If you consider RIAs to be Web Apps, then yes...
Microsoft has Silverlight and Adobe has Flex/AIR.
Well, you can always go and look for adobe flex, adobe flash or even microsoft silverlight, which in the next version will support desktop applications as well.
Other types of frameworks currently do not build so well under desktop/web environments.. Take .NET for example, which can be used in so many set of environments, but there are limitations if you want to use it for mobile, web, desktop or XNA, everyone has his own set of tools.
That is mostly resumed in the capability of the desired environment, since you can browse a web page in an iphone, which does not have the same capabilities of a desktop or even laptop PC.
Seva is telling you how this is normally dealt with. MVC is a good start.
The Eclipse foundation offers Rich Client Platform vs Rich Ajax Platform - one allows you to build desktop apps, the other web-based apps, all using SWT concepts. I wouldn't describe it as magical though - the reality is it is much more difficult and I would not recommend RAP.
Adobe has AIR, and Google wants everybody write HTML5+JavaScript. both Chrome and FireFox can run those as standalone apps.
Were such thing to exist, it would produce lousy desktop apps and lousy Web apps. The underlying platforms and ideologies are too different. You'll do better by isolating as much of business logic away as possible, then building two separate clients.
EDIT: assuming that by a "Web app" you mean an HTML-based app, as opposed to something that happens to execute within a browser. For the latter option, you can have Flash, Silverlight, Java Applets, ActiveX controls... And for the vice versa, you can have a desktop app that opens a Web browser control and runs a Web app in it. :)
Microsoft has a Smart Client Factory that has a lot of built-in guidance packages that make development fairly quick and standardized.
http://msdn.microsoft.com/en-us/library/aa480482.aspx
It is entirely possible that I misunderstand this question, but if all you need, is the ability to seperate models an business logic into some kind of reusable library, just about any programming platform/language will do.
Java: keep models and business logic in seperate project, compiled to jar
.NET: keep models and business logic in seperate project, compiled to DLL
Python, Ruby, Perl: keep models and business logic in separate directory, and include as module
What are the requirements for the desktop application? On which platforms should it run? If Windows only, .NET seems like an obvious choice, otherwise Python and Qt or Java if you like to Swing.
I also would go for a Webservice and implement as much Business-Logic as possible in the Service. You can then build a very small Clinet in Html/JS, Java, .Net or Whatever.
You should choose that Framework you feel most familiar with.
If you are a .Net-Developer you can develop a WCF-Service (is also great with WP7).
For Java, i would choose Google-App-Engine or the Play-Framework.
And of course you can make a PHP-Webservice, for examble with the Flow-Framework
Check CrossUI RAD tool. It enables developers to rapidly develop and package the exactly same code and UI into Web Apps, Native Desktop Apps(Windows, OS X, Linux and UNIX) as well as Mobile Apps.

What approach can i take to developing a Desktop application using Web Technologies

i am wondering if there is any way i can create an app that starts as a desktop application, for personal use for now. and since desktop applications can work with my HDD files which i may want to manage but don't feel secure throwing them onto a web server. but what i think i may want to do in the future is port the app to the web since that is where i think is the future of applications to come. web apps are available everywhere eg. web apps can be used on smart phones etc. facilitate team collaboration etc.
i have looked at some technologies but all seem to have some disadvantages
Adobe AIR 2
Advantages
Use of existing web technologies make it easy for me (mainly a web developer) to design and develop applications based on HTML5, CSS3, JS (jQuery, Dojo) which can be ported to a web platform in the future with greater ease
can access file system
Disadvantages
i guess speed maybe an issue
i may encounter limitations with what can be done in JS (vs languages like C#, Python, Java etc)
C#/F#/WPF/EF/LINQ
Advantages
C#/F# powerful languages
EF/LINQ makes data access very simple
WPF provides good data binding, styling capabilities
Disadvantages
WPF harder to use/learn than what i already know (HTML/CSS/JS)
WPF abit more complex
Harder to port over to a web platform (... maybe with a .NET platform its still ok? but i think Open Source PHP/Apache is more widely used)
Silverlight (Out of Browser)
Advantages
C#/F# more powerful than JS
Disadvantages
complexities of WPF vs HTML/CSS
Mozilla Framework
i dont know much about this option yet
Advantages
XUL as a layout tool, i guess provides more flexibilities than HTML?
uses CSS/JS existing web technologies so porting maybe still quite straightforward
i think it can use native API/Code tho i dont know how it works yet
in general, i think it will be a more powerful option over adobe air
Disadvantages
Architecture of software seems messy, chrome folders etc? i think WPF seems like a much more powerful and elegant option compared to this?
i have seen QT-Webkit too, but same as Mozilla Framework, WPF seems like a much more powerful and elegant option
just FYI, i am thinking of building a Project Management/Organizer type application. most parts of it i think it will work on a web platform except i wanted to integrate features like screen capture, managing project files, resources (eg. web site inspirations, resources like fonts, videos, etc). i am also exploring Adobe XMP to add metadata to files (images, videos etc).
You might consider Adobe Air or Silverlight which are platforms that allow an application to run on the desktop or web. There is also an open-source alternative called Titanium that, like Adobe Air, is also multi-platform.
You can also use OpenLaszlo which uses flash.