CARP: Rapid Application Development with C# and Parse.NET

The Cross-Platform, Serverless Web App Tech Stack for Startups: C#, ASP.NET, RazorPages, Parse.NET SDK (CARP)

Relax. Just do it with CARP.

Do you want an app that is built once and runs seamlessly on every platform, including iOS, tvOS, Android, Android Wear, Windows, and Web, without going through the time and trouble of engineering an expensive, complicated back-end system?

Are you looking to build an “Uber for Flower Delivery?” How about a “Tinder for Pet Lovers?” The list goes on! Unless you’re building a rocket to Mars, there is no need to reinvent the internal combustion engine.

Choosing a web and app development agency can be confusing. Even more so is deciding which technology you should use. Things are going serverless, into the “cloud”; apps are “cross-platform” and “responsive”. Which of these features should you focus on and which should you ditch?

Frankly, there’s no reason you can’t have it all, and there’s definitely no reason that you should have to pay for a new app for each and every device and operating system you want it to run on.

This cutie pie is the only reason we didn’t call it CRAP.

So here are a few tips, on the house. Request that your developers do the following. You’ll save a lot of time and money.

  • Make an account at Back4App and use the Parse.NET SDK to access your serverless back-end in the cloud (Please make sure to thank God King TheFanatr for pretty much reviving this project single-highhandedly). Back4App is the best cloud host for Parse-Server applications that I’m aware of. You can design your entire database schema on their website. You can even export all your data and host your entire back-end on your own very Node.js server in the future.
  • Use C# as your programming language. This way you can write once and deploy everywhere, and the only thing that changes is the front-end User Interface for each app. This is much more trivial than building a back-end in a new programming language for each new platform.
  • For your Web app, use ASP.NET, with Razor Pages as your hybrid templating engine. If you want to get fancy, experiment with Blazor to make your user experience seamless.
  • Do it all in Microsoft Visual Studio.

Querying ParseObjects in .NET is pretty simple! Here is some sample code that retrieves every single “Tweet” from the server of a hypothetical “Twitter” app.

public class IndexModel: PageModel {
 public IEnumerable<ParseObject> Tweets { get; private set; }
 public async Task OnGetAsync() {
 var query = ParseObject.GetQuery("Tweet")
.OrderByDescending("createdAt")
Tweets = await query.FindAsync();
 }
}

In your index.cshtml file, iterate over your collection:

@foreach (Tweet tweet in Model.Tweets)
<div>@(tweet.ObjectId)</div>
{

Okay, so if you have more than a handful of “tweets” things would start to get a little more complicated, but that’s where we at Selotec come in handy! Have an awesome app idea? Feel free to reach out. Let’s make something great.

Martin is Lead Project Manager at Selotec. You should follow him on Twitter.