[問題] iOS App前端想用Python寫後端

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

Links booklink

Contact Us: admin [ a t ] ucptt.com