Amazon EC2 Server very basic questions - ios

I am trying to develop my iOS application that requires a backend for simple CRUD functionality and also a server that helps me link up players and handle real-time multiplayer game logic.
I am using AWS DynamoDB to store my user's data and believe I would need to set up an EC2 instance to help me with my multiplayer game feature. I am completely new in this area and I hope to get some help in these few elementary questions:
Does the different instance (linux or windows) matter?
What language is it required to set up the server-side code? Or is server-side coding necessary?
If the language in the server-side is different from that of xcode's how does it handle the calls? (Please bear with me if this is really fundamental)
Is there any guide for setting up AWS EC2, and must those guide be specific to iOS for my app to work?
Thank you so much for all your help!

Probably
Whatever you want to use, and yes it is necessary
You have different options here, you can do everything from sockets to REST or SOAP.
An EC2 instance is, as far as your concerned, just a server running a back end service for your application. You need to figure how you want the application to work first. It doesn't matter if you decide to host it on ec2 or another service.

Related

Laravel 5.1 application deployment

I have developed an application with Laravel5.1. Now I need hosting suggestion for deploying my application. I know it's a silly question but I want a reliable answer. Before buying a hosting I want to know which hosting service will provide proper environment to run a laravel5.1 application.
Php version required >= 5.5.9
This is such a hard question to answer as it all depends on what you're after.
Some questions to consider:
Do you want to set the server up yourself?
If this is the case then any unmanaged provider will do the trick, you'll just need to set it all up; LAMP, Git, Composer etc.
Do you want to manage the server itself but you aren't sure how to set it up?
Digital Ocean (and other providers I'm sure) offer one-click apps where you can deploy whatever you want. For Laravel you would probably want to pick the LAMP app install. These deploy all the packages you will require and set them up for you so that you don't need to - the rest of the server management would be up to you from there.
Do you want to use Managed Hosting where they do it all for you?
OVH have been pretty good for me in the past, I've never used their managed option, although I know they have it - and I've had great service from them too.
If you're still not sure then I would suggest looking for a provider that provides servers that come with a LAMP stack (as this covers everything you need for Laravel) or one that supports PHP applications - if you're not sure then just contact the company and ask. Or find someone (a friend or a professional) who can help you get started online.
One suggestion because you are using Laravel is to look at https://forge.laravel.com/ where you can handle servers that runs in Digital Ocean and other providers.
Fits perfectly for Laravel.

how to build a server service that supports iOS application

I'm kind of familiar with building iOS applications but I need some assistance.
I am trying to build a new application and I need some startup help:
basically, the application should have a log in screen via Facebook/google+.
A back-end server that stores data to be provided to the application's users. This server should push notifications each time a new data is uploaded to the server.
I know that the idea is so familiar and can be googled, but I need some kind of a start point, like resources, or what should I be familiar with before I start building the application. I also have no idea about the servers and how to build services.
Thank you so much
Since you seem to be a beginner, I would recommend checking out Parse. They have a nice iOS SDK to handle cloud data storage, server processing and push notifications. Tutorials can be located here. Best of all - It's free unless you have massive traction. (Which I am assuming you don't yet)
Parse handles third party logins too. Check this out.

Communication between Rails apps

I have built two rails apps that need to communicate and send files between each other. For example one rails app would send a request to view a table in the other apps' database. The other app would then render json of that table and send it back. I would also like one app to send a text file stored in its public directory to the other app's public directory.
I have never done anything like this so I don't even know where to begin. Any help would be appreciated. Thanks!
You requirement is common for almost all the web apps irrespective of rails, Communicating with each other is required by most modern web apps. But there is a small understanding that you need to get hold on,
Web sites should not directly access each others internal data (such as tables), (even if they are build by the same language (in this case Rails) by the same developer),
That is where the web-services comes in to play, So you should expose your data through web services so that not only rails application can consume that, but also any app that knows how to consume a web service will get benefit.
Coming back to your question with Rails, rails supports REST web services out of the box, So do some googling about web services, REST web services with rails
HTH
As a starting point, look at ActiveResource.
Railscast
docs
Message queuing systems such as RabbitMQ may be used to communicate things internally between different apps such as a "mailer" app and a main "hub" application.
Alternatively, you can use a shared connection to something like redis stick things onto a "queue" in one app and read them for processing from the other.
In recent Rails versions, it is rather easy to develop API only applications. In the Rails core master, there was even a special application type for these apps briefly (until it got yanked again). But it is still available as a plugin and probably one day becomes actually part of Rails core again. See http://blog.wyeworks.com/2012/4/20/rails-for-api-applications-rails-api-released for more information.
To actually develop and maintain the API of the backend service and make sure both backend and frontend have the same understanding of the resources, you can use ROAR which is great way to build great APIs.
Generally, you should fully define your backend application with an API. Trying to be clever and to skip some of the design steps will only bring you headaches in the long run...
Check out Morpheus. It lets you create RESTful services and use familiar ActiveRecord syntax in the client.

iOS How to allow users to register an account / How to make a database of users

I am in the planning stages of building an App for iphone / ipad (yes, very early stages)
I am basically wondering how much work is involved in having a seperate user registration process for an app i.e. letting users register an account and use login using that account and use the app.
Will this involve constructing / coding an entirely new database or is there software available that automates this process?
thanks in advance
You could have a look at a service like StackMob.
This allows you to utilise server based services with no server-side implementation on your part.
These guys here: parse.com are doing a great job to facilitate developers the setup of a cloud database to do many tasks that are common in iOS apps.
In particular there is a section dedicated to user management (sign-up and sessions) that is well described here: Parse iOS guide
Finally the service offers some user interface help also, look here even if probably it is better to give to the UI some personalization by coding your own UI.
There are some implementations, but if your app is going to have custom code executed by server, you'd better make your own code.
Use a server side language (php, perl, ruby, python, java) to do the registration.
You'll probably need a REST service and/or json if you are going for easy peasy stuff (if you are to web apps programming). Otherwise, you'll need to do xml parsing and other stuffs. Use asi-http for the interactions between server and the app, or if you are using ios5.x it has already a json parsing implementation.

Connecting to users local machine from my WebApp

I have a Web App that i have developed I am looking to develop a plugin for this app so that i can pull information from the users accounts package such as sage or quickbooks(offline version). Ideally I would like to do this without them having to have a static ip etc.
Unfortunately this is way over my head I currently have no idea on how to do this.
Please can some one guide me in the right direction I will probably use json data between the webapp and the client service that I will make and im fine with that part its just the initial connection that I am confused about.
Any help would be really really appreciated I hope this makes sense.
Thanks
Ash
The way the Shopify Quickbooks integration (Quickify) works is by setting up a tiny local server that listens on a high port number and is able to play with the local filesystem. The web app part of the solution sends JSON back to it.

Resources