How do I use Google Cloud to create central database for web application and android app?

We built solution for web application , Mobile .We hosted website and database in the godaddy..

Website - We built Website/Web application based on ASP.NET4.5 ,WebAPI ,HTML and JQuery

Database - SQL Server 2012

Admin module - We built admin module using traditonal aspx pages .

Admin module is hosted in local machine ..We are connecting godaddy database form local machine and updating all data.

Mobile application - Mobile(android) application consumes WEBAPI services to return data from SQL Server database.

Well, assuming that you’ve divided everything nicely up in layers, you would only be replacing the ASP.NET GUI part with one for Android and IOS. So you should have a WebAPI to the business logic of your application which would handle the calculations and storage of data. If not, start there!

With a WebAPI, all the Android and IOS apps would have to do is call the API and show information on screen. (And get input.) You could then build those apps in whatever tool you prefer, although Xamarin has been suggested by others.

The normal choice for Android would be Java and for IOS would be Swift or Objective-C. Those would be preferred but as you can imagine, that would require a rewrite of your application. Which is why most functionality of your application needs to be behind a WebAPI so you’d only have to rewrite the GUI part.

While you can use Xamarin to create IOS and Android versions next to MVC, a lot of code would not be shared between these three platforms. You would have three projects that all handle the GUI stuff and a fourth that contains the logic. (And if you did things properly, a fifth for data storage although that could be part of the 4th project if the amount of data is small.)

So, how to start converting? Well, you need to make sure most of your code is inside the WebAPI (the 4th project) while your MVC project is just having a lot of short methods that just call the API and pass data. It should not do any calculations as any logic that you put in the MVC app would need to be copied to the Android and the IOS app! And you need to avoid copy/paste as much as possible.

MVC is like an iceberg. What you see is the ASP.NET stuff generating HTML and this sticks above the water level. With Android and IOS, you basically see three icebergs on the water surface, but underneath they’re all part of a single iceberg. What is underneath is your WebAPI…

Software developers have often been asking this question : From career & future prospects perspective, which is better? Is it Java or is it .Net? This article aims to answer this question so that there is no confusion. The answers you will typically find on the Internet will be very biased because most of them are contributed by hard-core Java and .Net fans. This article will be 100% neutral; which is what I promise. We'll invite views from our fellow engineers who've been working in Java or .Net so that we've an enriched discussion.

Java Vs. Net : Which is better?

The first question we need to ask - can these two be compared? A 30,000 ft. view of these two will tell you that Java is a programming language (generally speaking) while .Net is a framework. .Net, as you might know, is a platform that supports several languages viz. C#, VB.Net, F# and others. A framework is nothing but a pool of ready-made functionality available at your fingertips when you are writing code using that framework.

Those who are interested in deeper analysis may perform search on the Internet to find out which among the two scores over the other for specific aspects. But generally speaking; both Java and .Net are quite robust and have found applications world-wide in very complex projects.

Okay, which is easier to learn?

Unfortunately - there is no clear answer to this question. It all depends on you. I had a friend who could do Permutation/Combination & Probability related questions easily in his mind and I could never make any sense out of those questions. If you asked him; he'd say Probability questions are easiest to answers and they were the ones 'to skip' for me. Similarly, some of you will find Java easier to understand and master while others will think it's easier to code in C# than anything else in the world.

Career Opportunities In Java Vs. .Net

This is where things get interesting. The hiring scenario these days requires you to know multiple things. For example, you'll rarely see job openings that say "Java Programmers Required" or ".Net Programmers Required". You'll typically find job openings that require J2EE, JSF for those who know Java and C#, SQL server and other MS tech for .Net folks. The point to note is that - you will have to keep learning and keep improving your knowledge no matter which career path you choose.

Both Java developers and .Net developers have been in demand for the last few years and I don't see that changing in near future. No one can predict which technology would continue to be hot in coming months and years.

Which is better for future?

Instead of worrying about that; why not make yourself future-proof? Like I just said, no one can predict the future in the technology domain; because things change here every single minute. As a software engineer / developer - you should *not* stick to any specific language; yet master one that you are currently working on. Let me make it very clear : You need to be master of at least one and jack of several! Any programming language is just a set of tools that help you implement logic. If you hone your logic skills; you should be able to get comfortable with any programming language, tool or framework within short time. I've seen that happen with few of my ex-colleagues.

Start with any - and learn it with all the interest and try to be excellent. If you pick up Java; don't hate .Net and vice-versa. If your current job demands C# and ASP; learn it. If you are just starting out with a big IT company that has not told you which profile they will assign to you; it just doesn't matter.

Ultimately - you'll end up becoming managers:

...and then you'll will play with excel, power-point and outlook. No more 'coding' will be required from your part and all you will do is monitor your team's performance. A solid understanding of the technology will definitely help.

Ultimately - there's no clear and direct answer to the question we started with. Pick up any and get started. You will know what decisions to make in your career. Of course, CrazyEngineers will always be with you to help you make decisions.

PWA involves a set of technologies which runs at the client side so irrespective of your backend language/framework you use, you can create a PWA, however, there are 2 things to keep in mind:

1. Your website should be HTTPS enabled.

2. Your website should be responsive.

Below is the architecture of a bare minimum PWA:

So in short you need to have good native app like responsive UI for application which is fast so that user does not feel that the static components like styling, etc are being fetched from the network. Using a manifest file you can specify icons, splash/startup image and a theme color for the navigation bar of devices. You will also need a service worker which will act like a proxy between your web app and the backend. The service worker will cache resources which will be used if the user intends to use the app offline.

Here is a good guide to get started.

Disclaimer: I’m the co-founder of a progressive web app tool.

At Widely, we enable any website to upgrade into a progressive web app in less than 15 minutes with plug and play copy code. You can try this for a faster experience.

I worked on an application like this but I didn’t do the initial design work. What you’re doing sounds a great deal like this. The problem we ran into was that the users would be out in the field using a PDA to collect data but they didn’t have access to the internet so that the data they collected couldn’t be sent right up to the main database. They had to wait until they had network access and then they would do a sync that uploaded all the data to the main database. The original developers had everything working (although not very well) except that they couldn’t figure out how to upload pictures. Apparently they weren’t very good at pre-planning and only worried about problems as they came up and not looking ahead to possible problems.

The website should always be connected to the main database. As a website it always has access to the internet and as such constant access to the cloud (I hate that word) database. Build the web and DB with that in mind make it as fully functional as possible.

The android app should have it’s own database as part of the app and all the data being collected should go there. Once the user is able to get internet access there should be an option that allows the app to connect to the Cloud DB and using SQL statements (AKA Stored Procedures) the app uploads all the data to the man DB.

Now, someone needs to validate that all the collected data was actually moved, including all pictures if applicable. Once the data has been verified some variable should be set so that when the android app next connects to the main DB it will check these variables. If they are set then it deletes the associated data in it’s own DB. Make sure to get rid of captured Pics as well. All of these things take up memory that may be at a premium on the android.

You say that you’ve already got the app and website built so hopefully you’ve taken all these things into account. The method the original programmers were using to upload the data was a service but I got the impression they really didn’t know how to use it. They created the service themselves so it’s not like they didn’t have control over it I just don’t think that they understood who those things are supposed to work. I can’t give you any details (for a number of reasons) but look at all the possible technologies used to connect an android to a web site and upload data. Figure out which is the easiest to use, the one you understand the best, and build the interface along those lines.

Hope this helps.

To build a ASP.NET website you need to know C#, ASP.NET and web development like HTML, CSS and JavaScript. 10 days is impossible to learn them all, but not everything is that necessary.

First step, you have to download Microsoft Visual Studio 2015 to start, Visual Studio 2015 Community Edition is free to download and personal use. Link is here All Downloads | Visual Studio

Second step, install Visual Studio, just use the default option and wait.

And next, launch Visual Studio 2015 and create a C# MVC web application. Follow the official tutorial here Getting Started

The project just created include the following parts:

  • ASP.NET MVC Framework
  • Razor template engine, a template engine to render HTML
  • Entity Framework, an ORM let you access databases without to lean SQL and database details
  • (Optional) ASP.NET Identity, a framework based on Entity Framework to manage users and roles
  • Bootstrap CSS Framework, a front end CSS framework, really easy to learn and friendly to new comes.

Unlike Java, you do not need to learn them all to start building website. You can make CRUD (Create, Retrieve, Update, Delete) in a few clicks, follow the steps here Generating Views

Try to lean Bootstrap and do some customization to the files generated above, there’s a simple website

Databases are as important to cloud services as they are to normal IT operations. However, there are different ways to store data for different types of databases, and you may need to consider multiple versions.

If you use cloud management software or a cloud agent service, you are likely to trust multiple cloud platforms, which means that it is important to be able to store your data in the type of database you need. queries. A cloud database is a scalable content database that runs on a cloud computing platform that can be private, public, or hybrid. The best cloud databases are Oracle Database as a Service, AWS, Cloud SQL by Google, Microsoft Azure DocumentDB, Microsoft Azure SQL Database.

Yes. You need to create a REST API to access the content from your backend server which connects with your database. Then you need to make use of that REST API calls to communicate with whatever client end you wish. The client end could be anything like Web App, Android App, iOS app or Chat bot.

Creating a REST API for accessing your database or communication between your server will abstract the server side implementation and help you to communicate better across many client ends.

An application usually follows three tier architecture.
1. Frontend -> User interface (Mobile App, Website)
2. Backend -> API servers
3. Database -> Storage of data
You will need to put a backend server between apps and the DB which will accept requests from frontend and convert those requests into DB queries. It should send the output back in one of the predefined format. Usually, json or XML are used as output format for backend.

For sample ASP.NET web applications/code:


At APIMATIC we use ASP.NET in many projects.
For examples, see these links.