How would I go about building and hosting my own backend for an iOS application? The Ask Question Wizard is Live! Data science time! April 2019 and salary with experienceRealm database & user account dataRdbms one way sync with Realm Object Server possible?realm - best way to sync data on AzureWhich type of applications can I build with the Realm Mobile Platform?Hosting Firebase on your own serverRealm Swift: retrieve user, object not returned when launching appRealm swift with API callsHow much data should be stored in a single realm fileTell me any better way to sync Realm database with FirebaseBackend Database for iOS Production Applications
What do you call an IPA symbol that lacks a name (e.g. ɲ)?
Was Objective-C really a hindrance to Apple software development?
Are these square matrices always diagonalisable?
Was there ever a LEGO store in Miami International Airport?
Is it accepted to use working hours to read general interest books?
Will I be more secure with my own router behind my ISP's router?
In search of the origins of term censor, I hit a dead end stuck with the greek term, to censor, λογοκρίνω
Why does Java have support for time zone offsets with seconds precision?
Co-worker works way more than he should
Is there a verb for listening stealthily?
What's the difference between using dependency injection with a container and using a service locator?
What were wait-states, and why was it only an issue for PCs?
Feather, the Redeemed and Dire Fleet Daredevil
Eigenvalues of the Laplacian of the directed De Bruijn graph
Variable does not exist: sObjectType (Task.sObjectType)
Why do people think Winterfell crypts is the safest place for women, children & old people?
When I export an AI 300x60 art board it saves with bigger dimensions
Determinant of a matrix with 2 equal rows
Why did Israel vote against lifting the American embargo on Cuba?
When speaking, how do you change your mind mid-sentence?
How to compute a Jacobian using polar coordinates?
How would it unbalance gameplay to rule that Weapon Master allows for picking a fighting style?
Writing a T-SQL stored procedure to receive 4 numbers and insert them into a table
Arriving in Atlanta (after US Preclearance in Dublin). Will I go through TSA security in Atlanta to transfer to a connecting flight?
How would I go about building and hosting my own backend for an iOS application?
The Ask Question Wizard is Live!
Data science time! April 2019 and salary with experienceRealm database & user account dataRdbms one way sync with Realm Object Server possible?realm - best way to sync data on AzureWhich type of applications can I build with the Realm Mobile Platform?Hosting Firebase on your own serverRealm Swift: retrieve user, object not returned when launching appRealm swift with API callsHow much data should be stored in a single realm fileTell me any better way to sync Realm database with FirebaseBackend Database for iOS Production Applications
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
As a preface: I want to do this as a learning exercise. I'm not trying to produce a commercially viable app.
What are the layers/abstractions of an iOS application that is connected to a custom, self hosted backend? What technologies are needed to build this stack?
This post has helped my understanding a bit. I'm currently using Firebase as my backend but have found its NoSQL structure wrong for my app. The data I'm storing is relational, so I think an SQL database storing JSON would work better. The data is modeling Vehicles shared between Users.
From my research, the Realm Platform looks like a good choice. Am I understanding the technologies correctly here? Does this sentence make sense?
General functionality:
- Sign Up and Login of users
- Upload/download vehicle data
- Some server side logic
- Pushing data updates to users in real time
So would the stack look like the following?
User Front End: iOS app written in Swift
Database: Realm Database (SQL)
Server: Realm Object Server
I'm really looking for an overview of the general architecture. I don't know anything about that, so I'm sure I have failed to provide many details that are necessary for a thorough answer.
I apologize if this question is redundant; most answers I've seen for similar questions typically end with "just use AWS, Firebase, etc".
Thanks!
ios realm custom-backend
|
show 2 more comments
As a preface: I want to do this as a learning exercise. I'm not trying to produce a commercially viable app.
What are the layers/abstractions of an iOS application that is connected to a custom, self hosted backend? What technologies are needed to build this stack?
This post has helped my understanding a bit. I'm currently using Firebase as my backend but have found its NoSQL structure wrong for my app. The data I'm storing is relational, so I think an SQL database storing JSON would work better. The data is modeling Vehicles shared between Users.
From my research, the Realm Platform looks like a good choice. Am I understanding the technologies correctly here? Does this sentence make sense?
General functionality:
- Sign Up and Login of users
- Upload/download vehicle data
- Some server side logic
- Pushing data updates to users in real time
So would the stack look like the following?
User Front End: iOS app written in Swift
Database: Realm Database (SQL)
Server: Realm Object Server
I'm really looking for an overview of the general architecture. I don't know anything about that, so I'm sure I have failed to provide many details that are necessary for a thorough answer.
I apologize if this question is redundant; most answers I've seen for similar questions typically end with "just use AWS, Firebase, etc".
Thanks!
ios realm custom-backend
Can also try your hand at Python's Flask for backend and use whatever database you want.. although it does come with SQLAlchemy..
– Brandon
Mar 22 at 15:02
Interesting i'll check it out! Thank you
– Nick Rizzo
Mar 22 at 15:20
There is a good and accepted answer but the question is a bit vague. The requirements could be handled by Firebase (which can handle relationships) or Realm's ROS. If you are rolling your own physical server, you need to take into account items such as maintenance, downtime, redundancy not to mention having the right hardware to support X users as well as connectivity, security etc. It can be a very expensive proposition as the weight of everything rests solely on you e.g. instead of spending time coding and upgrading your app, you have to spend the afternoon replacing a failing hard drive.
– Jay
Mar 22 at 16:01
I apologize for the vagueness; it's the result of my ignorance on the subject. :) I'm more interested in developing my understanding the tech stack than the efficiency of doing it all myself as opposed to using pre-existing solutions like Firebase. Though I'm using Firestore (relatively new Firebase db) and I'm finiding it to be a complete mismatch for my purposes. From my understanding, Firebase is a NoSQL database which is good for "unstructured, non-relational" data management. My data is structured, non-dynamic, and relational. Dev time thus far has been slow because of this mismatch.
– Nick Rizzo
Mar 22 at 16:16
Ah... Coming from a strong SQL background, I initially thought Firebase was a mismatch as well; I was totally wrong. There is the saying to use right tool for the job but understanding the tool gave me a different perspective. Initially, creating 'relationships' in NoSQL seemed like a total mismatch... however, once you understand how to approach data in a NoSQL way it gives you another tool in your toolbox; Firebase/FireStore is blisteringly fast and very expandable - I would suggest continuing with it. If you have a specific use case issue, be sure to post it here so we can take a look.
– Jay
Mar 23 at 13:55
|
show 2 more comments
As a preface: I want to do this as a learning exercise. I'm not trying to produce a commercially viable app.
What are the layers/abstractions of an iOS application that is connected to a custom, self hosted backend? What technologies are needed to build this stack?
This post has helped my understanding a bit. I'm currently using Firebase as my backend but have found its NoSQL structure wrong for my app. The data I'm storing is relational, so I think an SQL database storing JSON would work better. The data is modeling Vehicles shared between Users.
From my research, the Realm Platform looks like a good choice. Am I understanding the technologies correctly here? Does this sentence make sense?
General functionality:
- Sign Up and Login of users
- Upload/download vehicle data
- Some server side logic
- Pushing data updates to users in real time
So would the stack look like the following?
User Front End: iOS app written in Swift
Database: Realm Database (SQL)
Server: Realm Object Server
I'm really looking for an overview of the general architecture. I don't know anything about that, so I'm sure I have failed to provide many details that are necessary for a thorough answer.
I apologize if this question is redundant; most answers I've seen for similar questions typically end with "just use AWS, Firebase, etc".
Thanks!
ios realm custom-backend
As a preface: I want to do this as a learning exercise. I'm not trying to produce a commercially viable app.
What are the layers/abstractions of an iOS application that is connected to a custom, self hosted backend? What technologies are needed to build this stack?
This post has helped my understanding a bit. I'm currently using Firebase as my backend but have found its NoSQL structure wrong for my app. The data I'm storing is relational, so I think an SQL database storing JSON would work better. The data is modeling Vehicles shared between Users.
From my research, the Realm Platform looks like a good choice. Am I understanding the technologies correctly here? Does this sentence make sense?
General functionality:
- Sign Up and Login of users
- Upload/download vehicle data
- Some server side logic
- Pushing data updates to users in real time
So would the stack look like the following?
User Front End: iOS app written in Swift
Database: Realm Database (SQL)
Server: Realm Object Server
I'm really looking for an overview of the general architecture. I don't know anything about that, so I'm sure I have failed to provide many details that are necessary for a thorough answer.
I apologize if this question is redundant; most answers I've seen for similar questions typically end with "just use AWS, Firebase, etc".
Thanks!
ios realm custom-backend
ios realm custom-backend
edited Mar 22 at 15:03
Nick Rizzo
asked Mar 22 at 14:56
Nick RizzoNick Rizzo
53
53
Can also try your hand at Python's Flask for backend and use whatever database you want.. although it does come with SQLAlchemy..
– Brandon
Mar 22 at 15:02
Interesting i'll check it out! Thank you
– Nick Rizzo
Mar 22 at 15:20
There is a good and accepted answer but the question is a bit vague. The requirements could be handled by Firebase (which can handle relationships) or Realm's ROS. If you are rolling your own physical server, you need to take into account items such as maintenance, downtime, redundancy not to mention having the right hardware to support X users as well as connectivity, security etc. It can be a very expensive proposition as the weight of everything rests solely on you e.g. instead of spending time coding and upgrading your app, you have to spend the afternoon replacing a failing hard drive.
– Jay
Mar 22 at 16:01
I apologize for the vagueness; it's the result of my ignorance on the subject. :) I'm more interested in developing my understanding the tech stack than the efficiency of doing it all myself as opposed to using pre-existing solutions like Firebase. Though I'm using Firestore (relatively new Firebase db) and I'm finiding it to be a complete mismatch for my purposes. From my understanding, Firebase is a NoSQL database which is good for "unstructured, non-relational" data management. My data is structured, non-dynamic, and relational. Dev time thus far has been slow because of this mismatch.
– Nick Rizzo
Mar 22 at 16:16
Ah... Coming from a strong SQL background, I initially thought Firebase was a mismatch as well; I was totally wrong. There is the saying to use right tool for the job but understanding the tool gave me a different perspective. Initially, creating 'relationships' in NoSQL seemed like a total mismatch... however, once you understand how to approach data in a NoSQL way it gives you another tool in your toolbox; Firebase/FireStore is blisteringly fast and very expandable - I would suggest continuing with it. If you have a specific use case issue, be sure to post it here so we can take a look.
– Jay
Mar 23 at 13:55
|
show 2 more comments
Can also try your hand at Python's Flask for backend and use whatever database you want.. although it does come with SQLAlchemy..
– Brandon
Mar 22 at 15:02
Interesting i'll check it out! Thank you
– Nick Rizzo
Mar 22 at 15:20
There is a good and accepted answer but the question is a bit vague. The requirements could be handled by Firebase (which can handle relationships) or Realm's ROS. If you are rolling your own physical server, you need to take into account items such as maintenance, downtime, redundancy not to mention having the right hardware to support X users as well as connectivity, security etc. It can be a very expensive proposition as the weight of everything rests solely on you e.g. instead of spending time coding and upgrading your app, you have to spend the afternoon replacing a failing hard drive.
– Jay
Mar 22 at 16:01
I apologize for the vagueness; it's the result of my ignorance on the subject. :) I'm more interested in developing my understanding the tech stack than the efficiency of doing it all myself as opposed to using pre-existing solutions like Firebase. Though I'm using Firestore (relatively new Firebase db) and I'm finiding it to be a complete mismatch for my purposes. From my understanding, Firebase is a NoSQL database which is good for "unstructured, non-relational" data management. My data is structured, non-dynamic, and relational. Dev time thus far has been slow because of this mismatch.
– Nick Rizzo
Mar 22 at 16:16
Ah... Coming from a strong SQL background, I initially thought Firebase was a mismatch as well; I was totally wrong. There is the saying to use right tool for the job but understanding the tool gave me a different perspective. Initially, creating 'relationships' in NoSQL seemed like a total mismatch... however, once you understand how to approach data in a NoSQL way it gives you another tool in your toolbox; Firebase/FireStore is blisteringly fast and very expandable - I would suggest continuing with it. If you have a specific use case issue, be sure to post it here so we can take a look.
– Jay
Mar 23 at 13:55
Can also try your hand at Python's Flask for backend and use whatever database you want.. although it does come with SQLAlchemy..
– Brandon
Mar 22 at 15:02
Can also try your hand at Python's Flask for backend and use whatever database you want.. although it does come with SQLAlchemy..
– Brandon
Mar 22 at 15:02
Interesting i'll check it out! Thank you
– Nick Rizzo
Mar 22 at 15:20
Interesting i'll check it out! Thank you
– Nick Rizzo
Mar 22 at 15:20
There is a good and accepted answer but the question is a bit vague. The requirements could be handled by Firebase (which can handle relationships) or Realm's ROS. If you are rolling your own physical server, you need to take into account items such as maintenance, downtime, redundancy not to mention having the right hardware to support X users as well as connectivity, security etc. It can be a very expensive proposition as the weight of everything rests solely on you e.g. instead of spending time coding and upgrading your app, you have to spend the afternoon replacing a failing hard drive.
– Jay
Mar 22 at 16:01
There is a good and accepted answer but the question is a bit vague. The requirements could be handled by Firebase (which can handle relationships) or Realm's ROS. If you are rolling your own physical server, you need to take into account items such as maintenance, downtime, redundancy not to mention having the right hardware to support X users as well as connectivity, security etc. It can be a very expensive proposition as the weight of everything rests solely on you e.g. instead of spending time coding and upgrading your app, you have to spend the afternoon replacing a failing hard drive.
– Jay
Mar 22 at 16:01
I apologize for the vagueness; it's the result of my ignorance on the subject. :) I'm more interested in developing my understanding the tech stack than the efficiency of doing it all myself as opposed to using pre-existing solutions like Firebase. Though I'm using Firestore (relatively new Firebase db) and I'm finiding it to be a complete mismatch for my purposes. From my understanding, Firebase is a NoSQL database which is good for "unstructured, non-relational" data management. My data is structured, non-dynamic, and relational. Dev time thus far has been slow because of this mismatch.
– Nick Rizzo
Mar 22 at 16:16
I apologize for the vagueness; it's the result of my ignorance on the subject. :) I'm more interested in developing my understanding the tech stack than the efficiency of doing it all myself as opposed to using pre-existing solutions like Firebase. Though I'm using Firestore (relatively new Firebase db) and I'm finiding it to be a complete mismatch for my purposes. From my understanding, Firebase is a NoSQL database which is good for "unstructured, non-relational" data management. My data is structured, non-dynamic, and relational. Dev time thus far has been slow because of this mismatch.
– Nick Rizzo
Mar 22 at 16:16
Ah... Coming from a strong SQL background, I initially thought Firebase was a mismatch as well; I was totally wrong. There is the saying to use right tool for the job but understanding the tool gave me a different perspective. Initially, creating 'relationships' in NoSQL seemed like a total mismatch... however, once you understand how to approach data in a NoSQL way it gives you another tool in your toolbox; Firebase/FireStore is blisteringly fast and very expandable - I would suggest continuing with it. If you have a specific use case issue, be sure to post it here so we can take a look.
– Jay
Mar 23 at 13:55
Ah... Coming from a strong SQL background, I initially thought Firebase was a mismatch as well; I was totally wrong. There is the saying to use right tool for the job but understanding the tool gave me a different perspective. Initially, creating 'relationships' in NoSQL seemed like a total mismatch... however, once you understand how to approach data in a NoSQL way it gives you another tool in your toolbox; Firebase/FireStore is blisteringly fast and very expandable - I would suggest continuing with it. If you have a specific use case issue, be sure to post it here so we can take a look.
– Jay
Mar 23 at 13:55
|
show 2 more comments
1 Answer
1
active
oldest
votes
For a start you want to build your own backend and you should create your own API's that your IOS application will connect to. in short this is called REST api
https://www.sitepoint.com/developers-rest-api/
you will need to use many more technologies more than just a server like Apache
once you create your backend API you will need to connect it to the IOS app which can be done using NSURLSession builtin framework form Apple or Alamofire which is based on NSURLSession but its easer to use if you are learning
you will need to learn how to do an http/https request to understand how the request is made
check this
https://medium.com/@MuraliKathir/build-a-simple-api-search-with-alamofire-and-swiftyjson-80286e833315
Now to Realm. Realm is a local database that will be inside of your IOS app which helps you save data downloaded online or even user generated
https://realm.io/docs/swift/latest/#queries
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55302370%2fhow-would-i-go-about-building-and-hosting-my-own-backend-for-an-ios-application%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
For a start you want to build your own backend and you should create your own API's that your IOS application will connect to. in short this is called REST api
https://www.sitepoint.com/developers-rest-api/
you will need to use many more technologies more than just a server like Apache
once you create your backend API you will need to connect it to the IOS app which can be done using NSURLSession builtin framework form Apple or Alamofire which is based on NSURLSession but its easer to use if you are learning
you will need to learn how to do an http/https request to understand how the request is made
check this
https://medium.com/@MuraliKathir/build-a-simple-api-search-with-alamofire-and-swiftyjson-80286e833315
Now to Realm. Realm is a local database that will be inside of your IOS app which helps you save data downloaded online or even user generated
https://realm.io/docs/swift/latest/#queries
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
add a comment |
For a start you want to build your own backend and you should create your own API's that your IOS application will connect to. in short this is called REST api
https://www.sitepoint.com/developers-rest-api/
you will need to use many more technologies more than just a server like Apache
once you create your backend API you will need to connect it to the IOS app which can be done using NSURLSession builtin framework form Apple or Alamofire which is based on NSURLSession but its easer to use if you are learning
you will need to learn how to do an http/https request to understand how the request is made
check this
https://medium.com/@MuraliKathir/build-a-simple-api-search-with-alamofire-and-swiftyjson-80286e833315
Now to Realm. Realm is a local database that will be inside of your IOS app which helps you save data downloaded online or even user generated
https://realm.io/docs/swift/latest/#queries
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
add a comment |
For a start you want to build your own backend and you should create your own API's that your IOS application will connect to. in short this is called REST api
https://www.sitepoint.com/developers-rest-api/
you will need to use many more technologies more than just a server like Apache
once you create your backend API you will need to connect it to the IOS app which can be done using NSURLSession builtin framework form Apple or Alamofire which is based on NSURLSession but its easer to use if you are learning
you will need to learn how to do an http/https request to understand how the request is made
check this
https://medium.com/@MuraliKathir/build-a-simple-api-search-with-alamofire-and-swiftyjson-80286e833315
Now to Realm. Realm is a local database that will be inside of your IOS app which helps you save data downloaded online or even user generated
https://realm.io/docs/swift/latest/#queries
For a start you want to build your own backend and you should create your own API's that your IOS application will connect to. in short this is called REST api
https://www.sitepoint.com/developers-rest-api/
you will need to use many more technologies more than just a server like Apache
once you create your backend API you will need to connect it to the IOS app which can be done using NSURLSession builtin framework form Apple or Alamofire which is based on NSURLSession but its easer to use if you are learning
you will need to learn how to do an http/https request to understand how the request is made
check this
https://medium.com/@MuraliKathir/build-a-simple-api-search-with-alamofire-and-swiftyjson-80286e833315
Now to Realm. Realm is a local database that will be inside of your IOS app which helps you save data downloaded online or even user generated
https://realm.io/docs/swift/latest/#queries
answered Mar 22 at 15:08
MarchalMarchal
497
497
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
add a comment |
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
Thanks for the quick response and the links! In terms of Realm (or any other DB), would I have 2 Realm databases, one on the server and then a local one on the iPhone? The server would have all of the data for everyone on the app while the local DB would have only data relevant and accessible to that specific user? Furthermore, I'm assuming that the server and the local databases don't both have to be Realm?
– Nick Rizzo
Mar 22 at 15:18
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
@NickRizzo yes they dont have to be the same as you said the server side can have mysql or any database and on the app you can bind the data and save it wherever you like. Realm can be used on server-side on both Linux and Windows via NodeJS and the Realm-JS API
– Marchal
Mar 22 at 15:26
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
Thanks so much! This is filling in a lot of the blanks for me.
– Nick Rizzo
Mar 22 at 15:37
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55302370%2fhow-would-i-go-about-building-and-hosting-my-own-backend-for-an-ios-application%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can also try your hand at Python's Flask for backend and use whatever database you want.. although it does come with SQLAlchemy..
– Brandon
Mar 22 at 15:02
Interesting i'll check it out! Thank you
– Nick Rizzo
Mar 22 at 15:20
There is a good and accepted answer but the question is a bit vague. The requirements could be handled by Firebase (which can handle relationships) or Realm's ROS. If you are rolling your own physical server, you need to take into account items such as maintenance, downtime, redundancy not to mention having the right hardware to support X users as well as connectivity, security etc. It can be a very expensive proposition as the weight of everything rests solely on you e.g. instead of spending time coding and upgrading your app, you have to spend the afternoon replacing a failing hard drive.
– Jay
Mar 22 at 16:01
I apologize for the vagueness; it's the result of my ignorance on the subject. :) I'm more interested in developing my understanding the tech stack than the efficiency of doing it all myself as opposed to using pre-existing solutions like Firebase. Though I'm using Firestore (relatively new Firebase db) and I'm finiding it to be a complete mismatch for my purposes. From my understanding, Firebase is a NoSQL database which is good for "unstructured, non-relational" data management. My data is structured, non-dynamic, and relational. Dev time thus far has been slow because of this mismatch.
– Nick Rizzo
Mar 22 at 16:16
Ah... Coming from a strong SQL background, I initially thought Firebase was a mismatch as well; I was totally wrong. There is the saying to use right tool for the job but understanding the tool gave me a different perspective. Initially, creating 'relationships' in NoSQL seemed like a total mismatch... however, once you understand how to approach data in a NoSQL way it gives you another tool in your toolbox; Firebase/FireStore is blisteringly fast and very expandable - I would suggest continuing with it. If you have a specific use case issue, be sure to post it here so we can take a look.
– Jay
Mar 23 at 13:55