<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Firebase on Robert Harrison</title>
    <link>https://robertharrison.ca/tags/firebase/</link>
    <description>Recent content in Firebase on Robert Harrison</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 27 Jan 2022 09:00:00 -0800</lastBuildDate>
    <atom:link href="https://robertharrison.ca/tags/firebase/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to read data from BigQuery using Firebase Functions</title>
      <link>https://robertharrison.ca/blog/bigquery-firebase-functions-read-data/</link>
      <pubDate>Thu, 27 Jan 2022 09:00:00 -0800</pubDate>
      <guid>https://robertharrison.ca/blog/bigquery-firebase-functions-read-data/</guid>
      <description>&lt;p&gt;An alternative title to this article could have been, &amp;ldquo;How to Access BigQuery from iOS&amp;rdquo;. I&amp;rsquo;m working on a SwiftUI app that needs to read data from BigQuery. There are several &lt;a href=&#34;https://cloud.google.com/bigquery/docs/reference/libraries&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BigQuery API Client Libraries&lt;/a&gt;, but none are in Swift or Objective-C. There is a Node.js library. My SwiftUI app happens to use Firebase, which supports hosting Node.js code. So the decision is easy. I&amp;rsquo;ll use Node.js and Firebase.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;A different approach could use the &lt;a href=&#34;https://cloud.google.com/bigquery/docs/reference/rest&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BigQuery REST API&lt;/a&gt;. There are couple of reasons why I chose to take the Node.js/Firebase Functions approach. (1) using a pre-built library can make development easier/quicker (2) In my use case, I want to do some data processing on the results, which makes sense to do on the backend, before returning to the frontend.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
