Google Sheets’i uygulama arka ucu/API olarak kullanan Zero Sheets
(zerosheets.com)- 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
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.
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.
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.
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.
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?
İ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.
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.
Bunun bir nedeni de React veya Postgres gibi basit mühendislik araçlarını kullanmak için bile çok fazla prosedür olması.
Elektronik tabloya yazan kişi fiilen her türlü dönüşümü yapabildiği için çok kolay bozuluyor.
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.
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
İyileştirme fikirlerini veya PR’ları her zaman buraya gönderebilirsiniz: https://github.com/ziolko/spreadapi
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
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ı
İ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
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
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ı
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