Using .Net backend for Android and IOS apps - android

I'm able to create MVC5 .Net applications for the web. I just need clarification on how I can proceed with developing Android and IOS apps. I was considering Xamarin, but I've decided to go with Android(Java) and Swift. My question is can I use .Net MVC5 with the mobile platforms for the backend?
AND followup question and this might be dumb, but I"m just not sure, If the answer is no to my first question, then if I were to learn to use SQLite to push data to database, can I push it to same database that was initially created with .Net MVC5 if the database was hosted on a server or would that database be restricted to being manipulated with the .Net Web API only? Basically can I use .Net and SQLite on the same database, but different platforms?

Related

Backend framework choices for React Native

I want to develop an android app that is based on server-client system. I want to develop both backend and android client. It's 2020 and there has already many frameworks developed to provide server side missions to programs.
My question is
What are the trending backend technologies in android world (from database to REST API frameworks), with reasons? For now, I have 2 framework/library on my mind. Spring and Node.js. Google Firebase are also in that list.
I also have another question
Suppose that I made a backend project and want to deploy it on a real server (development made on localhost). What choices should be made ?
For example, I made my development on Mysql and Springboot framework, should that server provide support for MySql and Java ? What is the procedure to deploy both database and backend application ?
Thanks.
You can develop web server using ExpressJs in Node, or using Django/Flask in Python, using golang, PHP Laravel or Codeignitor and many more. It all depends on which language you're already familiar with and which is the best for your use case. Frontend framework has very less to nothing to do with which back end to chose.
Answer to second question.
You can deploy your app in AWS, DigitalOcean, GCP etc. They'll provide VPS and other options to host your application and will make it accessible to outer world using IP or domain, however you configure it. You can install and self manage the DBs in the virtual system you have or you can use Managed database solutions provided by cloud platform, which has a pricing but is easier to manage.
PS: Both your questions were very broad and more of a opinion based answerable questions, it's better to ask these type of questions in platforms like Quora where you can get very detailed answers. Anyways, good luck with your project :)
I have worked on these three stacks
1) React-Native Express API MongoDb
2) React-Native Firebase
3) React_native Django
If you are comfortable with python and planning to create a large scale product, Django Backend could be a way to go. React_native Firebase is perfect for fast prototyping. If you are using a platform where you need to do heavy db query search, firebase data storage can be a poor choice.

How to make Xamarin Android Apps with Azure SQL Databases

I just got started with third year in my Computer Science degree and I really loved making ASP.Net websites, but now I am interested in learning Xamarin Android applications and make those applications database to be available as a Azure SQL database.
I've learned to make the Azure SQL Database and use the SSMS to make the tables and develop the ASP.NET locally and deploy them in Azure and I was thinking it might be the same with Xamarin, but apparently, I am wrong. So here are my questions and it will be great if someone could help me with it.
1) Why can't I use SqlConnecton classes inside Xamarin.Android's cs classes?
2) Is there a different approach for me to make mobile apps completely different from ASP.NET Applications?
3) Is it possible to use the same Azure SQL DB for both ASP.NET WebApp as well as the Xamarin.Android App?
Thanks in advance
The best way to do is by Web Services, you can follow this WCF tutorial.
Trying to answer your questions:
1) Why can't I use SqlConnecton classes inside Xamarin.Android's cs classes?
Mobile Apps are not designed for running common Database Engines like SQL Server, Oracle, etc. Because they consume a lot of resources and power. Imagine that you are connecting to any of these tools they would kill the battery in a couple of minutes/hours for sure. That's why if you really want to have an offline DB or something like that you have options like SQLite.
As a Xamarin developer if you must have the DB, I recommend you this package for SQLite:
SQLite-NET-PLC
2) Is there a different approach for me to make mobile apps completely different from ASP.NET Applications?
Yes and no, what do I mean, you can use WCF (Windows Communication Foundation), Generic Handlers, etc. The main idea is that you need to create a Web Service that is a "link" that you can access from your Apps for example:
The Wikipedia API:
This example returns you a JSON of Stack Overflow and you can do the same with any online DB you return the table/view that you want in JSON/XML format, you transform the answer into C# classes with a tool like Json2CSharp
Finally, you can deserialize the JSON to C# with a library like JSON.NET
3) Is it possible to use the same Azure SQL DB for both ASP.NET WebApp as well as the Xamarin.Android App?
Yes, you can. Many web sites and applications share the same DB, you just need to consider the Web Service approach in order to connect, update, delete, etc. From your app.

Can I use Laravel and Ionic with the same database?

I have a few questions about Laravel and Ionic.
Can I use the same database with a Laravel project and an Ionic project? If yes, what type of database can I use MySQL, PostgreSQL, MongoDB, Firebase)?
Can I make a website with Ionic (and convert the website to apps, too)?
Database is server side while ionic is a front-end framework. So they are not related.
The basic is as follow: you retrieve data from database by your back-end services (laravel), you change the data according to your design and you send them to the front-end (ionic) with json format. The database is not that important and you can pick which one you are comfortable with.
And as for your second question, ionic is a framework to build apps. But since it uses Angular it can be used for website, but it is not practical.

Using Azure to develop website then create native iOS and Android app for it later, what would be good data architecture?

I have built a blog using Windows Azure and .NET MVC.
This was my only experience for web development, so I am still pretty new in this area.
I just got an idea for my second website and I plan to develop native iOS/Android/windows app for it later on.
I am going to use Windows Azure SQL database and .NET MVC again for this, but I wonder if this is good choice for my future development for mobile app as well. Can my mobile app easily get access to data hosted in Azure SQL? If so could you let me know in which way? any suggestion is welcome, thanks!
A service-oriented architecture decouples the back end from how it is displayed.
You can use SOAP or REST services to fulfill each use case.
Come up with a protocol/contract that the services expose and any client that can make HTTP requests can work with them.
Take a look at Windows Azure Mobile Services (http://www.windowsazure.com/mobile). Mobile Services is a backend as a service you can use for your data storage from your asp.net site (from the C# code behind) and then when you're ready to build your mobile apps, you can use the exact same interfaces from the native Objective-C iOS / Java Android / .NET Windows SDKs. This will save you from needing to write the service layer if you don't want to spend time doing that.
Since your comfortable with ASP.NET MVC, I would recommend you build the website in MVC, but then have it call into a service layer that exposes the functions desired using ASP.NET Web API.
This would be an easy fit as you can then build your native mobile app later, and just call the API using JSON as the data format.
Great question by the way!

Which type of database should I use?

I have a question about which database I should use for my android and iOS apps. I have not messed with servers before so please excuse my ignorance.
Anyways, I am developing apps for a website that doesn't have a mobile version. The website has a MySQL database and uses phpMyAdmin as a control panel.
I need to figure out how to hook into the server. I know that java provides full support for SQLite databases and I know that they server hosters can install SQLite on the server for me.
What do you all think? MySQL or SQLite?
You should be using SQLite for any local databases to the Android app (CoreData for iOS).
Any interaction with your websites MySQL database should be handled through API calls.
There is a good PHP framework called Slim PHP that will make building your API extremely simple. It's documented very well. Slim PHP doesn't offer any form of ORM so I'd also recommend integrating with Idiorm/Paris, again their documentation is rather good so you shouldn't have a problem piecing this all together.
Of course you can opt for a larger PHP framework that has all of this in one place, such as Symfony.

Categories

Resources