I wrote a node-app which is supposed to be backend for native apps. For now I have an ios-app that communicates with the node-app. Later probably I also develop an android native app.
Im concerned about who can make request to this app. The best would be if I can be 100% sure that this is a native app who is contacting my node-app. But: how do I accomplish this? By sending arbitrary headers everybody would be able to pretend being a native app. Is there a way to solve this?
If by solve you mean flawless security, then no. You should employ multiple strategies, take a look at this question. Generally speaking there can never be perfect security. You will have to carefully consider what is your level of acceptably leaky.
Related
I have an idea for a mobile app that I would like to make. I am experienced in programming locally on the device, but not so much at making something that has a server in it.
I have (rather hastily) rented a server at HostGator and rented the domain name.
I made a project for university before and did the server-side scripting, but it had flaws, wasn't well polished and took a lot of time. So I'd like to avoid it as much as possible.
I have been searching the internet from morning till night for services that would take the load of server-side from my bac.
I'm planning to build an iPhone and an android app that will actually be "wrappers" to my data on the server. I will need user accounts and databases in general. The app will basically connect the users in some way and organize events for them. I saw a lot of names like "Parse" and "Kinvey" but I'm not really sure if that's what I'm looking for or not. Would I need to build an API myself, put it on the server, and wrap the apps around it? Or is there (hopefully) another solution? I'm looking for general guidance and what to research exactly.
What you're looking for are BaaSs (Backend-as-a-Service) and there are plenty to choose from. I highly recommend Firebase as a starting point as it's pretty easy to work with and pretty fast to get up and running, though there may be a learning curve in grasping how you should define your data in an efficient way. Parse is now defunct and you'll probably still have to wrangle with trying to get it deployed to a server, which may be a daunting task if you don't have experience with that kind of stuff as it's now just an open source project that doesn't give you any server infrastructure to work with out of the box like they use to. Other promising BaaSs is Realm's mobile platform which I haven't tried yet.
I am planning to build a web application and android app, which will manage huge numbers of notification (push notification), and can work in slow internet connection too. I need to send and get instant notifications. Number of users can be thousands or millions, application will have multiple servers (web farm), multiple database. Now I need to decide that which database will be best for this kind of application and which language should I use for programming. Please help me out. Any suggestions will be appreciated
Well, first you need to decide what your immediate needs are. Are you going to use this on a platforms that could potentially have hundreds of people accessing information at the same time? Then you need to estimate your future needs.
This will help you to decide your database system.
As per my experience i am suggesting you to use MYSQL database.
I Blindly Suggest you to Use Parse Cloud Database,as it provides SDK for All mobile Environments like Android and IOS for easy implementation and also it recently Launched a Javascript SDK to use.Its free for Trial.MultiPlatform Support and Secure
Check it out Here: https://www.parse.com/
Are you sure you going to get to thousands and millions users ? Everyone starts from scratch (read: zero users, except some friends). By this I mean, that you have to concentrate on what's the real issue within your development (growing app user base is different story):
Creation of Android app and it's lifecycle (updates, support of previous versions & etc).
Back-end. Will I also work on Back-end. Working on 2 'projects' (Android app and it's back-end) isn't easy. Not everyone is experienced enough to work on multiple assignments at the same time.
Valuate an option of using SaaS/Paas backend. Most of the have trial or free version for developer.
Third option is great. Get cheap/free web host. Store there configuration, that your Android app will download when it starts. In configuration you should declare what's the back-end and how to communicate with it. You can use any of known services like https://www.firebase.com or https://parse.com/plans or even use Google App engine free tier / AWS free tier.
About developing app for Android - if your app doesn't need any complex calculation or libraries - just write it with JavaScript. It's fast enough. Though, Java apps are always faster and easier to debug.
Good luck !
How does one approach building the mobile app version of one's Rails app, with little to no mobile development experience? iOS, Android, one or the other, or both.
First, you might want to create (private) APIs for services your web app provides. The de facto standard for Android apps is REST-like endpoints that accept/return JSON. You can use whatever Ruby REST framework works best. Then you need to consider how you would authenticate Android apps, if needed. Do you use the same authentication database? Can you allow anonymous access, what parts of the app do you expose, etc.
Finally, you need to build the frontend. A few options here:
learn Android
hire someone to do it
use a framework that lets you develop using Web(-like) technologies: Thitanium, Rhodes, etc. The upside is that you get to use what you know and might also get an iOS app for free.
The downside is that you can never get the native performance, and look-and-feel might not be completely Android-like (never used Rhodes, so maybe it does this well enough, but still)
Consider using http://www.rhomobile.com/.
I tried to give the main idea in the title as good as i could. I am a good programmer in Java and i studied the android sdk. I posted my question here because i believe you can guide me.
Two companies need to send text messages(not sms) in the same android app. The number of users of this app is not known but it could be 500 to 200k. Can Gwt and app engine help me to make it possible. To make it clear i didn't studied these services, but i know if i use them it will have no cost.
The other solution is to make my own server and a web app with another language.
Your answers will save me time.
Thanks in advance.
GWT and App Engine are front end and backend platforms which can be used to build use cases which fit a different need.
App Engine provides a PAAS stack with limitations of hardened sandbox, GWT takes the pain out of Javascript programming but restricts the customization.
If you are using http to communicate with servers then GAE should do the job
I'm completely new to Android DEV.
I want to make an app for a client that sells music, the idea is that it will be an alternate front end to the PHP site but will use some of the phone functionality such as locality etc.
Could anyone recommend the best approach to this? Would I look at developing via the Android SDK or via Flex/Flash? Is it possible to use php connections to retrieve dynamic data via android?
Any advice very gratefully received.
Thanks
Paul
Your best bet would be developing your app using Android SDK as you can use all the available native features. From a Flex perspective, you have a limited set of existing android API functionality that is supported.
As long as your PHP backend supports all your HTTP requests, you are good with both Flex as well as Android way.
Hope it helped.
I highly recommend you check out jQuery touch. It is a simple UI, but you get features like access to location (I believe through the html5 geolocation api (if they allow you to know their location)) and the list layout would work perfectly for purchasing music.
Obviously this is just my opinion. The Android API can be a little overwhelming at times but you will obviously have the most control over the phone and hardware, but jQuery touch keeps it simple. http://jqtouch.com