作者darrenlee1 (darrenleeleelee)
看板Python
標題[問題] IOS App前端想用Python寫後端
時間Tue Oct 13 23:23:59 2020
不好意思,對於寫app還處於一個菜鳥的階段,想請問有沒有一個比較明確的方向該如何
讓iOS的前端(用Swift去寫的)去連結Python的code來做一些後端的處理(要用到Django
或Flask都沒問題)上網查都沒什麼方向?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.35.160 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1602602641.A.702.html
→ jackjenny: API 後端10/13 23:37
→ darrenlee1: 是要自己寫api嗎10/13 23:42
→ mirror0227: 是啊,後端開API(一般來說是一個server,用URI溝通10/14 00:28
→ mirror0227: )給前端去call,送資料回前端,前端再做呈現10/14 00:28
→ darrenlee1: 所以不管是用什麼後端都能自己寫api連到嗎10/14 01:56
→ hongyan: 框架的話,fastapi可以去嘗試看看,很快速就能建立一個10/14 09:20
→ hongyan: API10/14 09:20
→ hongyan: 前端call api,後端do somthings後再回傳資料到前端呈現10/14 09:22
→ darrenlee1: 用框架會比較好嗎,還是是看習慣10/14 11:02
→ Hsins: 看規模跟用途,小規模用 fastapk 或 flask 就可以,至於 dj10/14 14:38
→ Hsins: ango 有點太龐大了10/14 14:38
推 aidansky0989: Django會自帶ORM、自動生成路由,大型項目中你會愛10/14 15:14
→ aidansky0989: 死這項功能,但是構建簡易API你會需要Fastapi和SQLA10/14 15:14
→ aidansky0989: lchemy,你會很常用它內建的神器,愛上它接近Go的10/14 15:14
→ aidansky0989: 高效能,至於Flask就是時代眼淚別花太多時間10/14 15:14
推 single4565: 那Flask還適合建構小型網站嗎?最近想學 10/14 20:26
推 yangs0618: 想知道為什麼flask不行了 10/14 22:02
推 ToastBen: 推10樓,看規模和需求決定,Flask也是有適合的用途10/14 22:54
→ darrenlee1: 謝謝大家我去研究一下fastapi10/15 08:12
推 TakiDog: falcon / hug 我也覺得不錯10/15 09:11
推 TuCH: 推fastapi 最近發現fastapi 直接捨棄flask10/15 13:44
推 laputaflutin: 除非你有很大流量的需求,不然那些說flask不行的看10/16 04:27
→ laputaflutin: 看就好,效能是良好的架構與良好的code撐起來的,10/16 04:27
→ laputaflutin: 不是跑分好高好棒棒來的10/16 04:27
→ laputaflutin: flask從0.x到1.0歷經八年,django也十多年才到2.010/16 04:41
→ laputaflutin: 能遇到的坑幾乎都遇到過了,也都有龐大社群、書籍10/16 04:41
→ laputaflutin: 與線上資料,學來沒什麼不好的10/16 04:41
推 TuCH: 如果要做網頁 flask django 是沒什麼問題 但他們原本設計的10/16 13:05
→ TuCH: 初衷就不是for 設計api 導致要用很多模組 還需要整合10/16 13:06
→ TuCH: fastapi 實現了大部分api需要整合的東西 可以提昇開發效率10/16 13:08
→ Hsins: flask 很適合拿來做微服務10/16 13:41
→ laputaflutin: DRF: 原來我還整合的不夠...10/16 21:02
推 Hsins: DRF 就殺雞焉用牛刀的概念啊…10/16 21:47
推 laputaflutin: 樓上,我回覆的是tuch關於整合的說法10/16 21:53
推 laputaflutin: fastapi最大的特點在於基於asyncio穩定的基礎上10/16 21:57
→ laputaflutin: 能達到以往做不到的high concurrency10/16 22:04
→ laputaflutin: 然後orelly有出版一本輕量化django, 它也可以很輕10/16 22:09
推 froce: DRF光看文件的時間,fastapi搞不好已經寫完了還更快。XD 10/17 08:02
推 froce: 我個人的經驗是覺得,如果你是初學者,用django或flask打底 10/17 08:29
→ froce: 都很好,尤其是flask因為簡單,可以幫助你很快理解web fram10/17 08:29
→ froce: ework怎麼用。10/17 08:29
→ froce: 但實際生產上面,如果你的專案是標準的前後端MTV項目,djan10/17 08:29
→ froce: go的整合可以帶給你很好的開發體驗,好用的ORM和完整的功能10/17 08:29
→ froce: ,自帶帳號後台很方便。10/17 08:29
→ froce: 可是到了api時代和微服務時代,你用django+DRF已經略顯疲態10/17 08:29
→ froce: 了,首先DRF你要弄到會用就是個問題,那個文件就算是中文版10/17 08:29
→ froce: 還是沒有fastapi簡單明快,fastapi基本上是你看到範例code10/17 08:29
→ froce: 你就會了。第二,有些時候你得深挖DRF去覆寫他的功能,但是10/17 08:29
→ froce: 這得去自己看原始碼。像我之前寫了用ad去做認證,就得自己10/17 08:29
→ froce: 想辦法,第三,有些時候你還是會覺得不如直接用django的jso10/17 08:29
→ froce: nresponse去吐資料比較方便,反而DRF你只需要他的序列化資10/17 08:29
→ froce: 料而已。10/17 08:29
→ laputaflutin: 基本上大而全跟小而美本來就側重面向就不同,我同意10/17 14:13
→ laputaflutin: 樓上講的大部分觀點,提DRF純粹是針對先前hs提到整10/17 14:13
→ laputaflutin: 合的觀點,要快要簡單本來就是找輕量級框架10/17 14:14
→ laputaflutin: 要用fastapi也沒什麼不好,然而如果同時要用async10/17 14:16
→ laputaflutin: 跟 sqlalchemy, 要注意後者的asyncio支援還不穩定10/17 14:17
→ laputaflutin: py 跟 js 不同,整體生態系對於async的支援並沒有10/17 14:18
→ laputaflutin: 那麼成熟,使用async api要注意第三方函式是否支援10/17 14:21
→ laputaflutin: 你可能以為你在寫非同步,其實程式還是同步跑 10/17 14:32
推 Sunal: 同意樓上,所有IO都要換成非同步版本 file, logging 都有 10/18 21:29
→ Sunal: 對應的aio版本,ORM好像還沒有吧?10/18 21:29
→ Sunal: 就連django3也都說目前ORM還無法做到全面aio10/18 21:31
→ darrenlee1: 不好意思問一下 有人知道如何用fastapi的uploadfile10/19 22:42
→ darrenlee1: 從post拿到照片嗎10/19 22:42
→ Hsins: 你要說一下卡在哪吧?文件範例滿清楚的…10/21 06:40
推 single4565: 感謝各位回覆,我先去學flask了10/23 13:32
推 converse: 先學會把iOS打正確吧10/29 15:12
※ 編輯: darrenlee1 (223.137.163.161 臺灣), 10/29/2020 21:21:18