Showing posts with label portable. Show all posts
Showing posts with label portable. Show all posts

Thursday, June 26, 2014

From AppStudio to Android, porting AppStudio apps with a little help from Xamarin

Just a couple days ago I blogged about how you can take your AppStudio app and load it into Visual Studio, From Studio to Studio - Apps made in App Studio, opened in Visual Studio. This post is even cooler, taking it to a whole new level...

Falafel - Porting a Windows App Studio Universal App to Android Using Xamarin

Microsoft's App Studio is a fantastic tool to help you design and generate applications for Windows Phone as well as Universal Apps for both the phone and Windows. The online interface allows you to add content like RSS feeds, Facebook pages, Flicker photos and more with a few clicks, generating a complete Visual Studio solution that can immediately be launched on the phone or desktop.

Today we'll look at how we can enhance the App Studio solution’s Portable Class Library so that we can use Xamarin to add an Android version of the app.

Creating the Solution with App Studio

I want to keep things as simple as possible, so for this example, I'm using the "Empty App" template, adding a single feed from our Falafel Blogs. Here's a quick look at the project page on App Studio:

image

Retargeting the PCL for Xamarin

The Universal project includes a Data project which contains the classes for accessing data which we will want to share to the Xamarin Android project. Although this is a Portable Class Library, it's only targeted to Windows and Windows Phone 8.1. A quick change to the project properties will take care of that.

...

...

Adding the Android Project

At this point your solution should be able to build, and we can proceed to add the Android Xamarin project. Obviously you need to have Xamarin installed, and for more information on getting started be sure to take a look at their Getting Started With Android Guide.

Add a new Android project to the solution. One important thing I discovered is that if the name of your app ends with ".Android" you will have problems resolving references from the Android component libraries in Xamarin.

...

image

...

Conclusions and Considerations

I kept things simple here, using the minimal amount of code from the AppStudio.Data project to make it easy to port to Android. Obviously the more components and datasources your App Studio project uses, the more complex it might be to port everything over.

However, we have seen that Xamarin can be a true cross-platform solution, reusing C# code developed exclusively for use by Windows and with only some minor changes and a new UI, expand its reach to an entirely new platform!

Download the source code and try it for yourself: ... [GD: Click through for the link]

...

image..."

You have to admit, that's pretty darn cool. I wouldn't have ever thought that I could take an AppStudio app and with a little tweaking get it run on Android. That's like some kind of Xamarin super power or something (well the super power of portable at least... :)

Thursday, May 15, 2014

How portable is your .NET code? API Portability Analyzer Alpha

Microsoft Downloads - API Portability Analyzer - Alpha

The API Portability Analyzer tool provides a list of .NET APIs used by an app, and portability of those .NET APIs on various .NET profiles/platforms.

Version: 1.0

Date Published: 5/12/2014

API Portability Analyzer Alpha Pre-Release License Terms.docx

ApiPort.exe

The API Portability Analyzer tool provides list of .NET APIs used by an app, and portability of those .NET APIs on various .NET profiles/platforms. This allows easy portability analysis for developers who are considering porting existing app on various platforms.

Note: During the process of identifying the .NET APIs used by a binary Microsoft collects the list of .NET APIs used by the user submitted binaries. Microsoft also collects the names of various user created APIs. The tool does not collect the binary code, only names of APIs are collected. Microsoft will also collect assembly information such as assembly references for the binary & the Target Framework Moniker (TFM).

...

.NET Framework Blog

...

Targeting Multiple Platforms

We’ve been working for several years to make it easier to write code for multiple platforms, both as apps and libraries. We started by enabling our PCL reference assemblies for Xamarin, who quickly moved forward with that change. More recently, we’ve been working closely with Xamarin to make our .NET NuGet packages work better with Xamarin tools, to make it easier to build .NET apps for iOS and Android. There’s still work to do, but the experience has gotten much better and will continue to improve.

At TechEd, we announced a new portability analysis tool, called ApiPort. It provides you with two main pieces of data: the platforms that you can easily/reasonably target with your code, and the dependencies that are preventing you from targeting additional platforms.

The command line tool generates an Excel report that provides you with two views of its portability analysis. It provides a high-level color-coded view for a given set of platforms. It also provides a very detailed list of all the types and members used within your code, and whether they are supported, per platform. Given that the report is in Excel, it is very easy to filter the list, build pivot tables and do whatever else you want to perform further analysis.

The image below shows a small sample of the high-level portability analysis view. Only one assembly is shown, but there can be multiple. Check out this sample portability analysis to get a first-hand view.

image

The tool has another function, too. All of the dependency data (not the assemblies) are uploaded to an Azure service that the .NET team maintains. The data that the tool uploads is the list of assemblies and APIs that your code relies on. We do not record where the data came from or by whom. We do not upload any of your actual code or binaries. We want to know which functionality we need to bring to each platform to make it easier to target all platforms.

If you are finding it difficult to target a particular platform, please “vote” for the APIs you want added to a particular platform by running the tool on your app and libraries. It’s really easy to run the tool on a whole directory.

This first release of tool is missing a few features that we are in the process of adding. The Xamarin/Mono platforms are currently missing from the tool. It also doesn’t yet take into consideration NuGet packages that make .NET Framework APIs available on other platforms, counting them as missing APIs.

...

If you're wondering how portable your code is, this is one of your first stops...

Sunday, June 30, 2013

Google .Net API's go portable... The v1.4.0 Google APIs .NET library is now a Portable Class Library (PCL) And now uses TPL and the new HttpClient lib too

google-api-dotnet-client Announcements - Announcing the release of 1.4.0-beta

We are excited to announce the Google APIs .NET library 1.4.0-beta release.

There are amazing new features in this release, the library was upgraded to support .NET 4.0, and the core Google.Apis assembly is now a Portable Class Library (PCL, see below). We support now HttpClient as our transport layer and TPL for asynchronous tasks. Resumable upload was also improved and media download support was added to the library.

For users who run on .NET 3.5 or earlier versions of .NET framework, release 1.3.0 is still available for you to download from: https://google-api-client-libraries.appspot.com/download/library/[API_NAME]/[API_VERSION]/csharp?lv=1.3.0-beta.

For example to download the Blogger API library that works with 1.3.0-beta, use the following link -  https://google-api-client-libraries.appspot.com/download/library/blogger/v2/csharp?lv=1.3.0-beta
All the new generated APIs can be downloaded from: http://code.google.com/p/google-api-dotnet-client/wiki/APIs

The release highlights:

Portable Class Library (PCL)

From this release, the Google.Apis core assembly is a PCL.

Portable Class Libraries support cross-platform development of .NET Framework apps. Use PCL to write and build portable assemblies that work without modification on multiple platforms, such as Windows 7, Windows 8, Silverlight, Windows Phone, and Xbox 360. ...

HttpClient

HttpClient provides developers an extremely simple programming interface to connect to services across the internet including REST-based services. It is part of .NET framework 4.5, but we use a .NET 4.0 PCL version using NuGet (which is available here).

In addition HttpClient exposes the new Task based asynchronous methods, which makes writing responsive and performant UI applications across all platforms a lot simpler....

...

Breaking changes in ClientServiceRequest...

Media Upload and Download...

Service names...

...

NuGet

From this release, we support NuGet for managing our 3rd party dependencies. You can also use the assemblies in the bundle (for .NET 4.0 full profile only), although our recommendation it to use NuGet.

Follow our Build wiki page for more details regarding building your project with or without NuGet.
* Notice that the Google packages are NOT served by NuGet, but it is scheduled to be in the future.

While I'm not really a happy google camper this second, this IS a great move by them. I'm really happy to see them continue in this investment and how they've moved to PCL. This should REALLY help in making Google reading/consuming/producing app's for most of the Windows platforms MUCH easier.

 

(via Bnaya Eshet - Google API)

Tuesday, June 25, 2013

Scott (not that Scott) helps make your Live dev easier with the LiveSDKHelper

Metro Nuggets - Belatedly Introducing LiveSDKHelper

while back I was working on a project that allowed me to actually look at, and use, the Live SDK in order to access information on SkyDrive. I was surprised to find just how hard it was to use the Live SDK, so as part of building the main project, I also built a little helper for using the Live SDK.

The Solution

So what is the LiveSDKHelper? Well basically, it’s a collection of classes, enums and strings that just take the chore out of using the Live SDK. It’s a portable class library that works with both Windows Phone (7.5 and 8) and Windows 8. But you probably assumed that, right!

Onto some code! In Windows Phone, as part of the Live SDK, we are given a signin button control that we can use to enable our end users to sign into their Microsoft Account. This button requires you to give it some scopes so the user knows exactly what information your app wants to access. This is the first part of the helper:

...

Again, this just makes it so much easier to deal with. And there’s plenty more to explore. At the moment, the library covers SkyDrive, Calenders and contacts.

If you want to give it a go, it’s installable from nuget.

The source for it is all on GitHub, and if you want to see an app using it, check out Store Card Buddy.

image

Been a while since I've highlighted Scott Lovegrove's dev work and I thought this pretty cool (and something I'm going to want to use in the near future)

Wednesday, September 08, 2010

Power Eraser, Norton style, is now free (as in free)

CNet Download Blog - Norton's new Power Eraser goes free

“Norton Power Eraser is a new tool from Symantec that the company says is the home user's last, best hope for eradicating an aggressive malware infection. Power Eraser is free …

By making Power Eraser free, the company hopes to draw in users who have been scared off by years of bad experiences and who haven't given the Norton suites a chance since the programs' turnaround in the 2009 versions. Although Power Eraser represents an aggressive approach towards helping infected consumers, the suites have also been improved in other ways. …”

Norton Power Eraser 1.5.0.42

“Norton Power Eraser target and eliminate virus that regular virus scan can't detect. Norton Power Eraser uses aggressive methods to detect these threats, there is a risk that it can select some legitimate programs for removal. You should use this tool very carefully, and only after you have exhausted other options. …”

Say what you will about Symantec/Norton, they do have a great deal of experience in the malware space, so a really free tool from them is a tool that might be worth of addition to your utility tool belt.

This is a no-install portable utility that seemed to run just fine on my Win7 x32 box. It ran, scanned and then went away when I was done with it (i.e. no services, etc spawned). BUT BE CAREFUL. This tool, as the above text very clearly says, isn’t for the casual user. That it can, and will, identify things it finds “bad” which are in-fact ok (i.e. false positives).

Tuesday, July 27, 2010

SSDownloader (Security Software Downloader) – Many/most “security” apps, one simple downloader

Minty White (aka Windows Guides) - Automatically Download the Latest Security Software with SSDownloader 

“If you are the one who always helps your friend to reformat/reinstall Microsoft Windows on their PC or laptop, most likely you will have their Windows equipped with at least a free anti-virus software (so they will not bug you anymore to do the reinstallation due to incurable viruses), and a couple of maintenance tools for some advanced users. However, since there are new threats and viruses appearing everyday, and the security software companies always have their product updated every week or so, you can’t really (unless you have too much free time) keep your downloaded security software installer updated. …

SSDownloader Makes Your Life Easier

So, to make your life easier, bbss has created a program called SSDownloader (or Security Software Downloader), which is a nifty download manager that helps you to download most, if not all, security software available online. You can download all sort of free and trial version of security software within a few clicks. …”

SSDownloader

“SSDownloader or Security Software Downloader is a small, easy to use download manager specially designed for security software.

  • Download the most popular free and paid security software with only one click.
  • Don't worry about OS or 32bit/64bit, the right version will be automatically downloaded.
  • Stay up to date, always newest versions of the software will be downloaded.
  • Just choose what you want to download and you will see a notification as soon your downloads finished.
  • …”

    I don’t know about you, but every time I need an anti-virus/malware/cleaner/etc utility I end up playing the “hunt for the download” game. This portable application looks like it could put an end to that game. (yeah! :)

    It’s simple, easy and just works. Download the exe and run it. No install (i.e. portable), etc. Just run it and go…

    image

    Tuesday, March 30, 2010

    Large Text File Viewer v5.2 Released - A portable utility to open very large, 1GB+, text files quickly…

    SwiftGear - Large Text File Viewer 5.2 – Features

    “Have you ever felt frustrated when you just want to look at the content of a large text file but it takes forever for Notepad or Word to open it?

  • This program was designed for viewing large (>1GB) text files.
  • It uses little memory and is able to open a gigabyte file instantly.
  • Background file indexing makes browsing even faster.
  • It opens files that are currently being written by other programs, and automatically checks and reads the files if new contents have been appended.
  • It supports view split. The user may split the view either horizontally or vertically, and have each side show different portion of the same file.
  • It allows the user to perform high-speed complex text search by means of plain text or regular expression. The regular expression syntax is slightly different from the standard ones. Please click here for details.
  • The regular expressions for finding the following items have been provided as preset for the convenience of the users:
  •  image

    …”

    I’ve been using v4 of this utility for years (since it’s release in 2005)… Good to see it’s still alive and well.

    (via The Portable Freeware Collection - Large Text File Viewer V5.2)

    Tuesday, March 23, 2010

    82 Top Free/Open Source Windows Applications, two clicks away via ZeuApp, a portable downloader and installer

    addictivetips - 82 Essential Opensource Windows Utilities Under One Hood

    “There may be several applications that you as a regular user may be very used to. Most of the commonly used free tools require tedious installation, visiting websites and finding the right versions, and certain back and forth thoughts that render this task a cumbersome one for any individual.

    One-click solutions for anything have always been the mainstream demand. Such a similar service is offered by ZeuApp, a portable tool that makes downloading and installing commonly used opensource freewares.

    image …”

    ZeusoftZeuAPP

    zeuapp1_3

    Pick software that you want, start download and install it.

    One click download the application you want to install, ZeuAPP in its list contains 82 applications.All applications are free and open source, and you are free to download them.

    ZeuAPP has 10 categories:
    1.Archivers
    2.Audio
    3.Video
    4.Chat-IM
    5.Internet
    6.CD Burners
    7.P2P-File sharing
    8.Games
    9.Graphic
    10.Secutity
    11.Utility

    …”

    This is a pretty cool utility. It makes a number of application drop dead easy to find, download, and install. And I like portable the app itself is.

    Added to my utility belt…

     

    Related Past Post XRef:
    Another portable application suite and launcher, NirLauncher (Beta) - 100+ NirSoft utilities + easy Sysinternals integration too
    40 Desert Island (aka Portable) Web Dev Tools
    LiberKey – 264, and counting, portable applications for your thumb drive are just a download away
    PortableApps.com Platform v1.5 Released (with v2 coming in a few weeks) – Your App world is just a thumbdrive away…
    Your Application Suite To Go - Portable App Suite v1.1 Released
    PortableApps Suite
    The Portable Freeware Collection

    Tuesday, October 06, 2009

    Another portable application suite and launcher, NirLauncher (Beta) - 100+ NirSoft utilities + easy Sysinternals integration too

    life hacker - NirLauncher is the Ultimate Flash Drive Toolkit

    “…

    Windows only: Portable application NirLauncher bundles 100+ of the best NirSoft utilities into a single launcher window, and even allows you to add your own utilities to make a killer flash drive toolkit.

    Tweaking the Launcher

    You can edit the included NirSoft.nlp file in a text editor to add or remove the utilities that you prefer—or you can even create a new .NLP file with your own customized settings. Just make sure to use relative paths to the executable files to make sure that they will be portable when you put it onto your flash drive.

    The NirSoft blog even provides a launcher file for the suite of awesome, portable, system-tweaking tools from SysInternals—simply download the launcher file and extract all of the SysInternals applications into a folder, and then …”

    NirBlog - Beta version of NirLauncher package is available to download

    “As I promised a few weeks ago, the Beta version of NirLauncher, with a package of more than 100 utilities of NirSoft, is available to download.

    nir_launcher1

    Before you go to the download link, it's important that you read the following guidelines:

    • For now, the download link of this utilities package is a little restrictive. I only allow to download it 5 times per day for each IP address. So please don't download this package with any 'download accelerator' software that open multiple connections. …
    • Antivirus False Positives - This package contains more than 100 utilities, and if you have any Antivirus on your computer, there is a very high chance that it'll falsely detect one or more of these utilities as Virus/Trojan/Spyware/Malware or anything else.
      It's also possible that your Antivirus will simply delete some of the utilities or prevent you from running them without displaying any alert.
      In any case, please don't flood my email address with messages like "You have virus in your utilities package"   or "After I extract your files, some of them are deleted" or "I double-click xyz utility and nothing happens".

    NirLauncher also allows you to add additional software packages. Just for example, here's how to add Sysinternals Suite into NirLauncher:

    1. Go to Sysinternals Suite Web page, and download the latest zip file.
    2. Extract the zip package of Sysinternals into a new folder located in the same drive of NirLauncher.
    3. Download the sysinternals.nlp that I created for Sysinternals Suite, and save it into the same folder with all Sysinternals files.

    Beta version of NirLauncher package is available to download …”

    Okay officially that’s a bunch of utilities, all easily portable and accessed. I didn’t know NirSoft had this many, and these kinds, of utilities. …sigh…

    Please note the False Positive Antivirus message above. In just extracting the zip NAV whined at me… It’s a FALSE POSITIVE.

     

    Related Past Post XRef:
    40 Desert Island (aka Portable) Web Dev Tools
    LiberKey – 264, and counting, portable applications for your thumb drive are just a download away
    PortableApps.com Platform v1.5 Released (with v2 coming in a few weeks) – Your App world is just a thumbdrive away…
    Your Application Suite To Go - Portable App Suite v1.1 Released
    PortableApps Suite
    The Portable Freeware Collection

    Sysinternals Suite Refreshed – All the latest Sysinternals Utilities, one tiny zip (well 10MB zip…)
    Sysinternals Suite (8MB of Complete Sysinternals Goodness)
    Use the Sysinternals Utilities? The EULA bug dialog you? Then try this…