Ionic or Firebase. Which auth service, and does it matter? - facebook

I'm making an app using Ionic and Firebase. I plan to use Facebook Auth for it, and realized both platforms have the auth service. I'm not super keen on Auth, but I imagine I only really need one of these, and I was wondering which would be best to implement. I plan to have a database of users defined by UID in firebase, so that makes me think that Firebases Auth might work better. But then again Ionic might be easier to implement because it's all packaged according to the framework and there is a ton of very specific learning videos out there. Or maybe I'm missing something and it is required to use both. Thanks in advance!

If you are planning to use firebase-database then firebase-authentication is the best way. If you use Ionic auth service, you still have to take care of your firebase-database authentication and authorization.
So better to go with firebase...

Related

A real-time chat with admin in flutter

commerce app but I need to create a chat just between every user and admin like for problems and etc so anyone has an idea on how it can be done
I've been using AWS services for something similar. The quickest way around it is to use AWS Amplify (think of it as AWS's Firebase).
Here's an article describing how you can build a chat application with Amplify: https://aws.amazon.com/blogs/mobile/building-a-serverless-real-time-chat-application-with-aws-appsync/. Note that this article is from 2018, and it mentions AWS Mobile - which was replaced by AWS Amplify.
The example is for React, but you can easily build your Flutter front end for it. I'd recommend for now using this package, since it supports all the platforms(Android, iOS, Web): https://pub.dev/packages/amazon_cognito_identity_dart_2
If you need only Android and iOS at the moment (and you can wait for the web support), you can also try the official AWS Amplify Flutter: https://pub.dev/packages/amplify_flutter
In any case - you will need some sort of web socket based solution. GraphQL is I think the right way to go (AWS Amplify uses service called AWS Appsync - which is just their implementation of GraphQL).
I think this is a really general question, but I will share my little knowledge about the matter.
Well apart of implementing your own solution, with your own backend and/or websockets, you can also use Firebase to achieve it.
There are some services like getStream that provide some good packages, and all the main functionalities required from a chat, and also UI widgets for it. Of course, is not free.

How to build web interface for my Swift App/Firebase

I learned how to code in swift a little while back and created my first app. Now I'm trying to market it to customers, I realized that a web-interface might be what I need to scale this up to start attracting clients.
I use firebase as my backend now and would like to see what I can do to have a web interface that:
Allows customers to log in to see their unique data.
Updates info on my firebase backend
is Scaleable.
I'm not sure where to start nor how long this process will take. Any one has any ideas on where to get started?
I'm pretty sure Wordpress has a firebase plugin that could come in handy. Using Wordpress would save a lot of time actually designing a website, getting servers, and backend stuff like that. If you pay a little bit you can get rid of the .wordpress. com tag too, and your website can easily look professional.
Firebase is a realtime database and it is mostly used with mobile apps and some of the JavaScript applications like Angular and ReactJS. I think the best is to use ReactJS and there you can do a lot of the same functionalities you did on your app.
You can find a lot of tutorials online about how to do reactjs and firebase apps.
Have a look at this post and it should give you an idea about how it is done. It is gonna be a new thing if you are not familiar with javascript NodeJS / ReactJS development. (Firebase, react and redux wait for store to update)

What is the best way to do web scraping from an iPhone App?

I am writing an iphone app and I need to scrape about 50+ websites for data.
Does anyone know of any good client-side solutions that I can use ? I dont want to build a backend just for this.
Any pointers ?
Thanks
Rohan
Looks like your primary focus is the mobile application, and you want to offload the scraping activity to an outside service.
Use a service such as Bobik ( http://usebobik.com ) that provides APIs for scraping data off websites. You can even test your queries for free!
The API is fairly extensive, have a look at http://usebobik.com/api/docs for more information. There's even a SDK available!
I think it is natural to build a small backend web app that takes a query from your phone and does the scraping. It's extremely easy, is not it? Scraping can be done via curl or something.
A web server these days is about 15 lines of code from the scratch.

Need advice for Implementing Caching in iPhone Programming, with Three20/ASIHTTPRequest or CoreData

I'm currently working on a Project that uses Three20 as the base framework, but I found out that ASIHTTPRequest handles Form Requests so easily so that's why I incorporated it in my Project.. And then I also found out that I need to cache my Session Key so that when my application terminates I can still check that my user is Logged in when the application launches back (and then again I'll be implementing it using basic Core Data)
As you can see there's a lot of Caching functionality in my Project, and I can't find out what is the best way, or which is the best way?
I don't know also how caching works in both Three20 and ASIHTTPRequest..
I really wanted to use their caching functionalities because I'll be caching also feeds and more
If you're looking to store user credentials, it's best to store them in the Keychain. You can do this via the Keychain Services API. There are plenty of examples out there that show how to use this API. Example 1. Example 2.

Writing authentication system

I am currently writing the backend for a service which has 3 clients: browser, android native and iphone native. I am having a little trouble with coming up with an authentication system since I don't know what can really be done on the clients.
I am using django + twisted for the backend.
Basically, I am going to be writing RestfulAPIs to open up for the clients on both phones to call.
Now the real question is, how should I come up with an authentication system?
I have thought about using sessionids, this works very well with the browser and I can use django's integrated app for that.
However, I don't know if it's possible for both the iphone and android to obtain a unique sessionid on the handset. Should I write an API call to distribute unique sessionids?
if that's the case, is it possible for me to still use django's authentication system since a lot of the stuff here are customized? ( I am not even using a rdbms - I am sticking with mongodb, so I was on the verge of dropping django's authentication app ftm).
I have looked at foursquare's API and their basic auth method requires you to pass in user:password in every http request header. That adds 1 additional authentication each call which can kind of seem excessive.
Please provide any kind of advise that you could give.
You might look at digitally signed RESTful requests, such as what is done with Amazon S3.