自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不使用任何后端代碼可以開發(fā)應(yīng)用程序嗎?

開發(fā) 前端
技術(shù)有很多,但你不可能掌握每一項(xiàng)。那么,在沒有任何后端代碼的情況下,你能開發(fā)出一個(gè)可以工作的應(yīng)用程序嗎?小芯告訴你:可以的。

在一個(gè)一切都在加速的世界里,你需要快速迭代以避免被拋棄。

技術(shù)有很多,但你不可能掌握每一項(xiàng)。你可能會(huì)問自己:“我怎么能在不了解后端代碼的情況下構(gòu)建應(yīng)用程序呢?”

  • 你需要快速、安全地進(jìn)行迭代
  • 不太了解后端代碼、主機(jī)或DevOps
  • 專注于已經(jīng)很復(fù)雜的前端開發(fā)工作

那么,在沒有任何后端代碼的情況下,你能開發(fā)出一個(gè)可以工作的應(yīng)用程序嗎?

小芯告訴你:可以的。

下面我們就來一一介紹:

后端作為服務(wù)(BaaS)進(jìn)行救援作為服務(wù)的后端是一個(gè)遠(yuǎn)程工具箱,不需要一行代碼,它就可以幫助你快速構(gòu)建通用的應(yīng)用程序功能,比如自動(dòng)驗(yàn)證、數(shù)據(jù)庫(kù)持久性、搜索和統(tǒng)計(jì)信息。

有很多工具提供了這樣的工具。

  • Firebase可能是最知名的,它是由谷歌和谷歌云平臺(tái)支持的。它非常高效和酷,是作為一個(gè)云黑盒工具托管的。如果你需要本地工具,你可以使用自己的主機(jī)查看一些解決方案,比如
  • Kuzzle,一個(gè)基于NodeJS、彈性搜索和Redis的特別強(qiáng)大的物聯(lián)網(wǎng)和高性能/流量應(yīng)用服務(wù)(BaaS)。
  • FeatherJS,一個(gè)有各種連接器的NodeJS服務(wù)器,可用于MySQL, Postgres或MongoDB。
  • Strapi,一個(gè)幫助你快速建立CMS的NodeJS服務(wù)器。

當(dāng)使用Baas時(shí),你需要稍微改變主意。

[[315610]]

來源:Pexels

與調(diào)用將根據(jù)自定義邏輯更改數(shù)據(jù)的自己的端點(diǎn)不同,與根據(jù)自定義邏輯調(diào)用端點(diǎn)來更改數(shù)據(jù)不同,你通常會(huì)直接使用前端的格式化數(shù)據(jù)查詢與數(shù)據(jù)庫(kù)交互的服務(wù)端點(diǎn),因?yàn)檫@些數(shù)據(jù)必須出現(xiàn)在數(shù)據(jù)庫(kù)中。

因此,前端代碼被認(rèn)為是安全的,惟一要做的就是在后端應(yīng)用一些驗(yàn)證策略來保證某些場(chǎng)景中的數(shù)據(jù)完整性。

請(qǐng)記住,當(dāng)談到“backendless”時(shí),實(shí)際上它有一個(gè)正在運(yùn)行的后端,只是你不需要為此編寫任何(或只編寫很少)代碼。幾乎一切都已為你準(zhǔn)備好了。

把后端作為服務(wù)的一個(gè)小例子

假設(shè)你需要?jiǎng)?chuàng)建一個(gè)博客帖子,如果沒有BaaS,你可能會(huì)調(diào)用一個(gè)名為post/blog/create的端點(diǎn),并且可能會(huì)傳遞這樣的對(duì)象

  1.   "title": "My newpost", 
  2.   "content":"<h1>Some HTML…" 

然后在后端,你將添加一個(gè)postID、一個(gè)帶有創(chuàng)建日期的服務(wù)器時(shí)間戳,可能還添加了一個(gè)字段,作者使用的是使用會(huì)話令牌找到的當(dāng)前用戶。

使用BaaS,你可以像使用SDK這樣直接在集合上進(jìn)行調(diào)用(我將在下面向你展示一個(gè)FirebaseFirestore示例,在其他工具中類似)。

  1. constarticleReference = db.collection("blog_posts").add({ 
  2.   "title": "My newpost", 
  3.   "content":"<h1>Some HTML…", 
  4.   "owner":"<user_unique_id>
  5.   "creation_date": 1578855978 
  6. }) 
  7. .then(success => console.log(success)) 
  8. .catch(error => console.warn(error)); 

并且在后端添加一些限制策略,例如通過驗(yàn)證作者。

  1. match/blog_posts/{postId} { 
  2.       allow read if true, 
  3.       allow create, update: ifrequest.auth.uid == resource.data.owner; 

這樣,可以更快地編寫代碼,而且為安全策略定義自動(dòng)化測(cè)試套件也比后端代碼更容易。默認(rèn)情況下,所有東西都是禁用的,可以一點(diǎn)一點(diǎn)地啟用它們。

這也可以定義一些后端函數(shù)來“掛鉤”某些事件,如文檔創(chuàng)建、編輯或刪除。這樣就可以定義一些副作用或額外驗(yàn)證。

使用后端作為服務(wù)能創(chuàng)建什么?

這就是問題所在……你可以構(gòu)建的東西是沒有限制的,如果遇到了限制,可以用其他工具甚至自定義后端來擴(kuò)展這些工具。

大多數(shù)情況下,在基于云的解決方案上有合理的免費(fèi)層,所以開始構(gòu)建時(shí)沒有問題,當(dāng)應(yīng)用成功時(shí)你就要開始支付少量費(fèi)用了。

那很昂貴嗎?

[[315611]]

來源:Pexels

記住,任何幫助你更快、更安全的事情通常都有不利的一面。在使用內(nèi)部包時(shí),成本是關(guān)于開發(fā)人員支持和協(xié)助許可的。

但是當(dāng)使用云BaaS時(shí),當(dāng)它們擴(kuò)展到一個(gè)非常大的數(shù)據(jù)集時(shí),通常就很昂貴了,你還需要設(shè)計(jì)應(yīng)用程序來大規(guī)模地使用它們,但是工程師最大的問題是花時(shí)間優(yōu)化一些根本不應(yīng)該存在的東西。

使用BaaS進(jìn)行快速迭代,如果你的產(chǎn)品獲得了一些成功,請(qǐng)考慮稍后對(duì)其進(jìn)行優(yōu)化的方法,有可能的話切換到另一種技術(shù)。

BaaS很酷的一點(diǎn)是,你可以很容易地遷移到其他工具。

現(xiàn)在輪到你了,快來試試吧。

 

責(zé)任編輯:趙寧寧 來源: 讀芯術(shù)
相關(guān)推薦

2011-07-21 16:19:30

iOS Twitter

2011-02-22 10:23:43

2022-05-31 16:15:23

低代碼

2012-07-18 11:29:32

ibmdw

2010-08-02 23:20:24

2009-05-27 14:31:53

NetBeansEclipsPHP

2011-03-21 09:05:40

IronRubyWindows Pho

2010-08-04 10:13:40

FlexBuilder

2011-05-24 10:30:31

PythonNetBeans ID

2011-07-18 10:21:04

iOS Visual Stu iphone

2012-02-08 15:06:31

ibmdw

2022-09-19 00:37:13

SaaS云計(jì)算開發(fā)

2013-02-21 14:14:40

開發(fā)Tizen

2013-02-21 14:15:41

開發(fā)Tizen

2010-11-19 12:40:12

Visual Stud云應(yīng)用程序

2010-12-01 09:01:31

獨(dú)立存儲(chǔ)Windows Pho

2013-11-19 15:35:01

2022-07-03 16:42:10

后端Web開發(fā)

2009-09-24 17:21:17

加速Hibernate

2010-10-15 09:39:22

MeeGoQt
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)