2017-10-20 55 views
0

有人能夠告訴我爲什麼在不同語言的SDK中的firestore API中存在這種不必要的不​​一致。通常,Firebase開發人員提到保持API在各個平臺之間一致的重要性,因此允許這種情況發生似乎很奇怪。Firebase Firestore API中的不一致問題

在Python,Java,Android和Swift firestore sdks中,爲了引用文檔,需要的功能標題爲document,但是在Go,Web和Node中標題爲doc

var cityRef = db.collection('cities').doc('SF'); 

VS

DocumentReference docRef = db.collection("cities").document("SF"); 
+0

我也注意到了這一點,我假設它是'doc()'在Javascript中的原因是爲了避免與HTML DOM'document'關鍵字混淆,但我不確定爲什麼在doc中選擇了'doc()'並且節點也是如此。 – Grimthorr

回答

1

在設計的API,我們儘量平衡秉承平臺對成語是跨平臺的一致性。所以這種方法命名實際上是一個有意的偏差。 JavaScript和Go通常都使用簡短的簡潔方法名稱,而例如Obj-C具有長長的,詳細的方法名稱(所以相同的方法在obj-C中稱爲collectionWithPath:)。跨平臺的方法通常應該有1-1對應關係,但實際命名確實不同。對不起,如果它絆倒你!

+0

只引起了一個小小的失敗:)謝謝澄清。 – 34m0

+1

雖然這是錯誤的設計選擇,特別是考慮到雲功能firestore觸發器需要指定.document – 34m0