3 puan yazan GN⁺ 2024-04-13 | 1 yorum | WhatsApp'ta paylaş
  • Zero Sheets, Google Sheets'i RESTful JSON API'ye dönüştürerek ayrı bir arka uç olmadan prototip, web sitesi ve uygulamalarda veriyi işlemeyi sağlayan bir hizmettir
  • Oluşturulan endpoint'lere HTTP istekleri göndererek veriler sorgulanıp işlenebilir; kimlik doğrulama yöntemi ve kullanılacak sheet'ler de yapılandırılabilir
  • Başlangıç akışı; sheet URL'sini yapıştırma, API'yi yapılandırma ve endpoint'e istek gönderme şeklinde 3 adımdan oluşur; böylece ilk bağlantı yükü azalır
  • Spreadsheet'leri istemci tarafı bir CMS gibi kullanarak fikirleri gerçek verilerle test etme kullanımına odaklanır
  • Fiyatlandırma; aylık 200 istek içeren ücretsiz 1 API'den, aylık $4.99 Scout ve aylık $19.99 Craft planına kadar uzanır; herkese açık planlar okuma, yazma, güncelleme ve silmeyi içerir

Google Sheets'i RESTful API'ye dönüştürme

  • Google Sheets spreadsheet'lerini RESTful API'ye dönüştürerek basit HTTP istekleriyle verilerin sorgulanmasını ve işlenmesini sağlar
  • Geliştiricilerin prototip, web sitesi ve uygulamaları hızlıca oluştururken kullanacağı bir araç olarak konumlanır
  • API yapılandırma aşamasında kimlik doğrulama yöntemi, kullanılacak sheet'ler ve diğer ayarlar belirlenebilir
  • Kullanım akışı 3 adımda özetlenir
    • Google Spreadsheet URL'si panoya kopyalanıp dashboard'a yapıştırılır
    • Yeni API'nin kimlik doğrulama yöntemi ve kullanılacak sheet'leri gibi ayarlar yapılandırılır
    • Endpoint alındıktan sonra HTTP isteği gönderilir

CMS gibi kullanım biçimi ve fiyatlandırma

  • Spreadsheet'ler gerçek bir veri deposu gibi kullanılarak fikirler test edilebilir ve istemcilerin kullanabileceği bir CMS rolü üstlenebilir
  • Kendi arka uç panelini oluşturmaktan daha ucuz ve daha hızlı şekilde fikir hayata geçirilebildiğini öne çıkarır
  • Herkese açık planlar şöyledir
    • Free: $0/ay, 1 API, sınırsız sheet sekmesi, okuma, yazma, güncelleme, silme, aylık 200 istek
    • Scout: $4.99/ay, sınırsız API, sınırsız sheet sekmesi, okuma, yazma, güncelleme, silme, aylık 400 istek, 7/24 destek
    • Craft: $19.99/ay, sınırsız API, sınırsız sheet sekmesi, okuma, yazma, güncelleme, silme, aylık 2000 istek, 7/24 destek
  • Özel fiyatlandırma planları ayrıca iletişime geçilerek sunulur

1 yorum

 
GN⁺ 2024-04-13
Hacker News yorumları
  • Modern Excel acemi tuzağına dikkat etmek gerekiyor. 80’ler ve 90’larda birçok yatırım bankası buna düştü; çünkü elektronik tablolar genel amaçlı bir hesaplama çerçevesi olarak harika olduğundan risk yönetimi, fiyatlama ve operasyonel işlevler bile dev Excel dosyası yığınlarının üzerine kuruldu.
    Eklenti ve genişletmeler ekleyince gerçekten çok şey yapılabiliyor; ama sonunda elektronik tablo bakımı imkânsız, içini anlaması zor bir kâbusa dönüşüyor ve temel iş mantığı birçok kişinin kişisel sayfalarına hapsoluyor. Kapsamlı değişiklikler zor ya da imkânsız hale geliyor; normal bir yazılım çatısında kolay olacak değişiklikler bile sayısız sayfayı düzeltmeyi gerektirdiği için risk ve doğrulama maliyeti artıyor.

    • Oyun geliştirmedeki görsel betikleme tarafında da buna çok benzer bir durum yaşanıyor. Aslında tasarımcıların veya sanatçıların, programcı çağırmadan basınç plakasına basılınca kapının açılması gibi küçük işleri yapabilmesi için tasarlanmış araçlar; ancak ortaya çıkan şey kolayca kontrolden çıkacak kadar büyüyor.
      Sadece Unreal Engine örneklerini toplayan bir site bile var: https://blueprintsfromhell.tumblr.com/. Kişisel olarak çözümün iyi refactoring desteği olduğunu düşünüyorum. Programcının gelip her şeyi baştan yazmasına gerek kalmadan, “metot çıkarma” gibi yöntemlerle düzenlenebilmesi gerekiyor.
    • Bu her zaman bir tercih meselesi değil. İş yerinde politikalara uygun bir Python hello world çalıştırabileceğim bir ortam edinmek bile çeşitli prosedürler yüzünden yaklaşık 4 saat sürdü.
      Tam teşekküllü bir IDE ya da pip modülü bir yana, sadece hello world’dü; üstelik bu şimdiye kadarkilere göre iyi sayılırdı. Bazı finans şirketleri baştan başka seçenek sunmuyor. Ofis çalışanlarına yalnızca Excel verip sonra insanların Excel ile canavarlar üretmesine şaşırmak yaygın bir kalıp.
    • Tamamen katılıyorum. Şu an çalıştığım şirket, 10 yılı aşkın süredir elektronik tablolar ile veritabanı sorgusu dışa aktarma pipeline’larının iç içe geçmiş yapısını refactor etmedi; ölçeklenmediği için şimdi para oluk oluk akıyor.
      Bu tür sorunlar, her şey çökene kadar pek görünür olmaz. Elektronik tablolarda eşzamanlı çalışmak neredeyse en riskli işlerden biri olduğundan tüm temel süreçlerde darboğaz oluşuyor. Veri entegrasyonu riskli ve uzun sürüyor; elektronik tablolar arasında tutarlılığı garanti etmek de zor. Daha erken doğru araçlara taşınılsaydı gerekmeyecek kodlarla sürekli yama yapmak zorunda kalıyorsunuz.
    • “Kapsamlı değişiklikler zor ya da imkânsız hale gelir”e ek olarak, sürüm kontrolü yok.
      Elektronik tabloyu RCS’ye kaydedebilirsiniz belki; ama push etmeye çalıştığınız değişikliğin amaçladığınız şey olduğunu doğrulayacak bir diff görebilir misiniz? Zaman içinde sistemin nasıl değiştiğini diff geçmişinden inceleyebilir misiniz? Birden fazla kişi değişiklik yaparsa merge edebilir misiniz? Deneysel bir çalışma kopyası var mı, yoksa hiçbir güvenlik önlemi olmadan doğrudan canlı kopyayı mı düzenliyorsunuz?
    • Sayfaları yalnızca depo olarak kullanmak belki sorun olmayabilir. Yalnız boyut sınırlarının ne düzeyde olduğunu merak ediyorum.
  • İlginç bir hikâye. Startup’ı Loom’a pivot etmeden önce Opentest adlı bir kullanıcı testi şirketiydi; kurucu ortaklar belirli kullanıcı testi talep edenleri görebilmek için veritabanı ve dashboard yapmak yerine her şeyi Google Sheets’e koymuştu.
    Çok iyiydi. Downtime yoktu, erişim açıktı, görüntüleyen ve düzenleyen yalnızca 3 kişi olduğu için çakışma da yoktu. Veritabanı yükseltmesi veya bakımıyla uğraşmak gerekmiyordu. Bu kararı sık sık hatırlıyorum; öğrendiğim “iyi mühendislik uygulamalarının” önemli bir kısmı, gerçekten hızlı ve pratik hareket etmenin herhangi bir aşamada dâhiyane bir atılım olabileceği gerçeğinin yanında sönük kalıyor gibi geliyor.

    • Katılıyorum. Google Sheets, startup’lar veya küçük şirketlerde hızlıca ayakta kalmak için iyi bir seçenek.
      Yalnızca çok az kişinin düzenlemesi gereken çeşitli sistem verilerinde kullandım. Biraz dikkatli kod ve caching ile, örneğin doğrulama sonrası S3’e senkronize ederek, önemli sistem verileri için kolayca bir CRUD frontend’i olarak kullanılabiliyor. Geçici dashboard olarak da iyi; API’ye bağlayınca veya özel Google Scripts kodu ekleyince özel API’leri de yönetebiliyor. Birden çok görünüm, pivot tablo, sorgu ve lookup içeren epey büyük raporları takvime göre otomatik yenilettiğim de oldu. Özel geliştirilmiş bir şeyin Google Sheets’ten çok daha iyi olması gerektiği doğru; ama daha hızlı yapılamaz. Daha büyük ve iyi bir şeye ihtiyaç duyduğunuz noktaya geldiğinizde gereksinimler de daha netleşmiş olur ve geliştirme kaynaklarını karşılayabilecek durumda olursunuz.
    • Büyük bir şirkette yazılım mühendisiyim; üzerinde çalıştığım birçok projenin temeli Google Sheets. Bazı yerlerde frontend, bazı yerlerde backend olarak kullanılıyor.
      Bunun bir nedeni de React veya Postgres gibi basit mühendislik araçlarını kullanmak için bile çok fazla prosedür olması.
    • Google Sheets, yönetim arayüzü yerleşik olan yönetilen bir NoSQL veritabanı olarak da görülebilir.
    • Yalnızca tek yönlü veri dökümü mümkünse iyi bir fikir gibi geliyor. Sorun, yedi farklı sayfanın başka süreçleri authoritative şekilde kontrol etmesi gerektiğinde başlıyor.
      Elektronik tabloya yazan kişi fiilen her türlü dönüşümü yapabildiği için çok kolay bozuluyor.
    • Fena görünmüyor; ama şirket verilerini Google Sheets’e koymadan önce izin almak gerekiyor.
  • Süslü bir sarmalama şart değil. https://script.google.com/ adresini açmanız yeterli; zaten Google’ın birçok API’sine erişebilir, sayfaları Gmail ile e-posta göndermeye, takvim değiştirmeye, sayfa oluşturmaya, form girdisi işlemeye vb. entegre edebilirsiniz.
    Sorun, gerçek bir veritabanındaki gibi transaction tabanlı işlemler olmaması. Örneğin belirli bir kaynağı kilitlemek istediğinizde bu başarısız olabilir.

    • Bu sitede ne zaman biri bir sorun için basit bir çözüm geliştirse, başka biri zaten çok daha karmaşık bir seçenek olduğunu söylüyor.
  • Henüz kimsenin Spread API’den bahsetmemiş olması şaşırtıcı: https://spreadapi.roombelt.com/
    Ücretsiz Google Sheets / Apps Script kullanıyor; sayfaya yapıştırmanız yeterli, tam bir CRUD’a dönüştürüyor. Ancak biraz hız sınırı var, yine de tamamen ücretsiz. Eskiden Sheets tabanlı bir şirket fikrini düşünmüştüm ama “para ödemeye istekli” aşamaya gelindiğinde genelde Sheets’in ötesine geçilen nokta da bu oluyor. Kısıtlar yüzünden Sheets veya SpreadAPI’de kalmaktansa Turso, Cloudflare D1, Pocketbase’e geçmek istiyorsunuz

    • Küçük projemin işe yaradığını duymak gerçekten sevindirici
      İyileştirme fikirlerini veya PR’ları her zaman buraya gönderebilirsiniz: https://github.com/ziolko/spreadapi
    • Güzel görünüyor. Ancak tek bir istekte birden fazla satır ekleyemiyor gibi; bu yüzden oldukça sınırlı görünüyor
    • Spread API hız sınırının ne olduğunu merak ediyorum. Sitede bilgi bulamadım
  • Benzer bir kullanım için PocketBase önermek isterim
    Geçen hafta API erişimi olan rastgele bir veri deposu ararken Google Sheets arka ucu yapmayı düşünmüştüm; PocketBase kolaydı ve dakikada 60 istek sınırı da yoktu. Ucuz bir VPS’e CapRover ile dağıtmak da çok kolaydı
    https://pocketbase.io/
    https://developers.google.com/sheets/api/limits

    • PocketBase’e bir oy. Genel veri toplama için PocketBase kullanıyorum; API ile CSV dışa aktarıp Google Sheet’e taşıyarak görüntüleme ve düzenleme için kullanıyorum
      Prototipleme ve gerçek iş yürütme için çok kolay; Google Sheet’i arka uç olarak kullanmak da iyi ama kimlik doğrulama gibi şeylere ihtiyaç vardı
    • PocketBase’e baktım ama nasıl kullanmam gerektiğini tam anlayamadım. SQLite’ı da biliyorum, SQL’i de iyi biliyorum; ama pratikte nasıl kullanacağımı kestiremedim
    • Altyapım %100 ölçeklenebilirliğe odaklı, bu yüzden birlikte çalışabiliriz gibi görünüyor. Yalnızca maliyeti paylaşmamız gerekir
      İletişim bilgilerinizi alabilmem için lütfen buradan mesaj gönderin: https://www.zerosheets.com/contact
  • Yakın zamanda yalnızca AppsScript ve Google Sheets’i veritabanı olarak kullanarak tam bir web uygulaması yaptım; bunu burada https://thetechenabler.substack.com/i/142898781/making-a-sim... yazdım ve burada https://github.com/eeue56/simple-link-aggregator yayımladım
    Yeni bir deneyimdi; özellikle geliştirici olmayanların kolayca kullanabileceği bir veri deposu bulundurup önüne sunucu kurulumu gerektirmeyen bir web uygulaması koyma fikri çekiciydi. Ama AppsScript bu amaçla kullanmak için fazla yavaş; iyi bir deneyim olması zor. Zerosheets iyi görünüyor; bu fikre tekrar dönersem daha yakından inceleyeceğim

    • “Geliştirici olmayanların kolayca kullanabileceği bir veri deposuna web uygulaması bağlayıp sunucu kurulumu gerektirmemek” Airtable’ın kullanım senaryolarından biri değil mi?
  • Bir sonraki kullanıcı betiği projesi fikrim için buna ihtiyacım var. Kişisel kullanım için ama not çizelgelerini inanılmaz derecede acı verici bir web arayüzüyle doldurmak zorundayım
    Verileri bir elektronik tabloya girmek çok daha kolay. Eskiden gerçekten öyle yapıyordum; sonra okul “daha kolay” hale getireceğiz diye çok temel bir CRUD web uygulamasının korkunç bir parodisi gibi bir şey getirdi. Bu yüzden elektronik tablodan okuyup yazması zahmetli web formunu dolduran bir kullanıcı betiği yapmak istiyorum. Henüz başlayamamamın nedeni, önceki kullanıcı betiği deneyimime dair blog yazısını bile bitirememiş olmam ve kimlik doğrulama kâbusundan korkmam. Kullanıcı betiği bağlamında daha kolay da olabilir, daha zor da; web sayfasının içinde olduğumuz için belki orada normal OAuth akışı gibi bir şey yapılabilir

    • Apps Script’e bakıp bakmadığınızı merak ediyorum
    • Google Sheets kullanacaksanız muhtemelen normal OAuth akışını yapmanız gerekir. Alternatif olarak Excel kullanıp basit bir makroyla otomatikleştirebilirsiniz
      Kişisel olarak en kolay yöntemin, betiğin karmaşık kısmı olan kimlik doğrulamayı atlayıp değerleri panodan kopyalayıp yapıştırdıktan sonra verileri işlemek olduğunu düşünüyorum
  • Birkaç gün önce şablon ve CMS alternatiflerine bakarken, veri, grafik ve görselleştirmeler içeren haberler yayımlamak için NPR’ın dahili aracı olan https://github.com/nprapps/dailygraphics-next’i buldum
    İçinde Google Sheets’i CMS olarak kullanma yöntemi de vardı; bu ilgimi çekti

  • https://github.com/kellpossible/avalanche-report/ üzerinde çok benzer bir şey yaptım. Veri giriş akışını hızlıca yineleyebilmek için Google Sheets ile başladım
    Bir sunucuyla birlikte kullanınca, yapılandırılmış URL sorgularını IMAGE işlevine koyarak özel grafikler ve diyagramlar da oluşturabildim. Okumaları yerel bir SQLite veritabanında önbelleğe alıyorum. Şu anda Google Sheets’ten uzaklaşıyoruz; çünkü kurulumu biraz zahmetli ve bizim kullanım senaryomuzda kullanıcıların yanlış alanları düzenlemesini tamamen engelleyemiyoruz. Yine de şimdiye kadar çok iyi dayandı ve başlangıç noktası olarak herkese güçlü şekilde tavsiye ederim

  • Eskiden bir restoran web sitesinin menü sayfasını Google Sheet ile çalıştırmıştım. Kusursuzdu
    Restoran bir şey değiştiğinde elektronik tabloyu güncelliyordu ve bu hemen web’e yansıyordu; yanlış bir şeye dokunurlarsa geri alabiliyorlardı

    • Birkaç hafta önce bir restoran için tam olarak aynısını kurdum. Basit ve ücretsizdi
      Apps Script’i, güncelleme olduğunda siteyi derleyecek şekilde ayarladım; böylece herhangi bir zamanda düzenleme yapıldığında yeniden derleme tetikleniyor ve statik site olarak yeniden dağıtılıyordu