整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          34.4K star! 一款爆紅的屏幕截圖變為HTM

          34.4K star! 一款爆紅的屏幕截圖變為HTML代碼神器!

          家好,我是開源探索者,持續分享開源項目,關注技術的最新動態,分享自己的經驗和見解。

          大家好,我是開源探索者。

          今天給大家介紹一個非常牛的開源項目:Screenshot-to-code。

          Screenshot-to-code 是一個可以將屏幕截圖轉化為 HTML/JS/Tailwind CSS 代碼的工具。它利用 GPT-4 Vision 生成代碼,結合 DALL-E 3 生成相似的圖片。

          項目特性

          1、屏幕截圖即代碼

          能夠將屏幕截圖瞬間轉變為可運行的代碼。這意味著,你只需要截取一個網頁或應用程序的截圖,Screenshot-to-code 就可以自動生成對應的 HTML、CSS、JavaScript 代碼。

          這項功能對于初學者來說非常友好,可以幫助快速學習前端開發。對于經驗豐富的開發人員來說,也可以節省大量的時間和精力。

          2、GPT-4 Vision

          項目利用最新的 GPT-4 Vision 技術,可以生成高度智能化的代碼,能夠幫助我們更好地理解屏幕截圖中的元素,并生成更加貼近設計意圖的代碼。

          3、DALL-E 3 圖片生成

          可以結合 DALL-E 3 技術生成相似的圖片,我們可以使用 Screenshot-to-code 生成一個網頁或應用程序的截圖,然后使用 DALL-E 3 生成一個相似的圖片。

          這項功能可以讓我們的頁面呈現更加豐富多彩、獨具特色。

          一個例子

          如何快速使用

          Screenshot-to-code 的使用很簡單,官方給了很詳細的說明。

          使用前提是有一個能夠訪問 GPT-4 Vision API 的 OpenAI API 密鑰。

          接著按照下面的步驟:

          1、下載 Screenshot-to-code 的源代碼。

          2、在 backend/.env 文件中添加你的 OpenAI API 密鑰。

          3、使用 poetry install 安裝依賴項。

          4、使用 poetry run uvicorn main:app --reload --port 700運行后端。(如果您希望在不同端口上運行后端,可以修改文件 VITE_WS_BACKEND_URLfrontend/.env.local)

          5、使用 yarn 安裝前端依賴項。

          6、使用 yarn dev 運行前端。

          7、打開瀏覽器,訪問 http://localhost:5173 即可使用。

          如果你安裝了Docker,也可以用下面的命令快速開始:

          echo "OPENAI_API_KEY=sk-your-key" > .env
          docker-compose up -d --build
          

          當然,如果你也不想這么麻煩,官方提供了一個在線的版本供體驗使用

          https://screenshottocode.com
          

          目前 Screenshot-to-code 項目依然還在開發更新中,已經取得了令人印象深刻的進展。未來,Screenshot-to-code 會在支持更多的語言和框架、提高生成代碼的準確性和效率、增加更多功能,例如代碼片段共享和代碼編輯器集成等方面進行提示。

          開源君有一種感覺,Screenshot-to-code 有可能會成為未來前端開發的必備工具。

          關于項目的更多細節,感興趣的同學可以自行去項目地址查看。

          項目地址:
          https://github.com/abi/screenshot-to-code

          結束語

          在數字時代的浪潮中,有一群人他們不畏艱難,勇攀技術高峰,他們就是開源探索者。他們不僅僅是技術的實踐者,更是開源文化的傳播者和推動者。

          在開源的世界里,沒有絕對的權威,只有共同的合作。

          機操作完成pdf的格式轉換,將pdf轉為html網頁文稿,該如何設置?PDF轉HTML,這項操作并不復雜,本期介紹的辦法,可以直接在手機上完成操作。

          PDF具有良好的跨平臺性和穩定性。然而,有時候我們需要將PDF文檔轉換為HTML(Hypertext Markup Language)格式,以下是一些轉換的原因:

          1.更好的可讀性:HTML文檔在瀏覽器中打開時,可以根據屏幕尺寸自動調整排版,使得文檔更易于閱讀。

          2.更好的可訪問性:HTML文檔可以通過各種設備和瀏覽器來訪問,而PDF文檔可能需要特殊的軟件或插件才能打開。

          3.更方便的編輯:HTML文檔可以在各種文本編輯器中進行編輯,而PDF文檔則需要使用專門的編輯軟件。

          4.更好的搜索引擎優化:HTML文檔可以更好地被搜索引擎索引和檢索,從而提高文檔的曝光率和訪問量。

          PDF文檔轉換為HTML格式時,需要注意以下幾點:

          排版問題:由于PDF文檔的排版和HTML文檔的排版方式不同,轉換時可能會出現格式錯亂、缺失等問題。

          圖像和表格的處理:PDF文檔中的圖像和表格需要特殊處理,以保證在HTML文檔中正常顯示。

          鏈接和書簽的處理:PDF文檔中的鏈接和書簽需要轉換為HTML文檔中的超鏈接和錨點,以保證文檔的可訪問性和易用性。

          PDF轉HTML不需要在電腦操作,迅捷PDF轉換器APP支持這項功能,只需打開手機即可,操作步驟如下:

          打開app界面,系統支持PDF轉為其他格式,選擇“PDF轉HTML”;

          點擊選擇需要轉換的pdf文檔,再點擊頁面下方的“開始轉換”;

          系統完成轉換操作后,可以在app界面進行查看,或者點擊“分享”,將其發送給其他人或者其他平臺。

          知為何,我的跨平臺 Web 應用實際上更穩定。我想,我浪費了大量時間開發原生 iOS 應用。


          這一切要從我想做一款可以幫助父母們安排孩子上學的 App 開始。


          我是一個有 3 個孩子的父親。在工作中,有很多功能強大的工具可以幫我組織和管理團隊,但在家里卻沒有任何工具可以幫我安排孩子們去上學,每次都搞得一團糟,為此我感到很惱火。于是我想,為什么不給孩子們列一個待辦事項清單呢?我可以讓它的使用體驗看起來像游戲一樣,甚至嵌入游戲化的設計元素,幫助孩子們保持專注和參與度。


          所以我開發了“School Morning Routine”,效果非常棒?,F在,孩子們準備上學的時間縮短為原來的 30%,我們嘮叨的時間也減少了 95%(是的,我算過了)。


          但在開發過程中,我犯了一個大錯誤。我浪費了大量時間開發原生 iOS 應用。

          為什么最開始我選擇了原生開發


          在 2022 年,要開始一個移動 App 項目,最大的問題在于有很多完全不同的技術方向可供你選擇:原生應用、跨平臺 Web 應用、React Native、Flutter、漸進式 Web 應用、Xamarin 等等。


          默認的方案是寫 3 次代碼,一次針對 iOS,一次針對 Android,一次針對 Web。



          但是,對我們軟件開發人員來說,多次編寫相同的代碼是非常令人不安和不自然的。因此,這么多年來,我們已經嘗試了幾十種方法,試圖實現“一次編寫,到處運行”,但它們都涉及令人討厭的權衡。


          如果選擇了跨平臺 Web 應用,你只需要使用通用的 Web 技術編寫代碼,然后將其部署到多個平臺上,只是有少量涉及 iOS 和 Android 功能的原生代碼無法在瀏覽器中運行。


          但你需要在性能方面做出權衡。


          2014 年,我嘗試用 Ionic Framework 開發一款不同的應用,然后我和大多數人都發現了統一的問題:Android 和 iOS 運行 Web 應用的表現很糟糕。


          它們響應慢、行為不可預測、斷斷續續、忽隱忽現,觸屏互動體驗也很古怪。


          所以,我很早就確定 School Morning Routine 不應該是一款跨平臺 Web 應用。這款應用將大量使用游戲風格的動畫,因為它是面向兒童的,所以它需要出色的觸屏互動體驗。


          不知為何,我的跨平臺 Web 應用實際上更穩定


          所以,我決定開發一款原生應用。原生應用通常風險最小、質量最高。當然,同樣的應用做了兩次,這不是什么好事,但它畢竟是一款小應用,我相信努力比魔法更重要。


          首先,我做了一款漂亮的 iOS 應用,并與測試用戶進行了多次迭代。然后我將其發布到 App Store 上,并獲得了一些用戶反饋。除了收到五星好評,還有來自用戶的電子郵件。用戶在郵件里說這款應用是如何改變了他們的生活和工作。



          我很高興自己取得了一些成績,并決定接下來要開發 Web 應用。我使用了 React,再加上 CSS 動畫、Framer 和一些 Lottie 動畫。在開發完成后,我花了一下午仔細調優性能,只是想確保沒有做不必要的渲染。


          那時,我的孩子們已經使用 iOS 原生版 School Morning Routine 好幾周了。為了測試這個新的跨平臺 Web 版本,我把它裝到孩子的 iPad 上。他們可以用它來測試,為上學做準備。


          有趣的是,我忘記告訴他們那個 App 已經從原生改為 Web 版了,但第二天早上他們卻沒有注意到。


          他們沒有注意到。


          他們甚至都沒有注意到。


          如果你沒有孩子,可能就不會意識到這個。要知道,孩子總是抱怨所有的東西。真的,所有的東西。但是,當第二天我問他們是否注意到有什么不同時,他們不僅沒有抱怨那款 Web 版 App ,還感謝我,因為我在 Web 版中使用了不同的動畫,他們當中有兩個更喜歡它。


          他們是對的,新版的動畫流暢如黃油,觸屏互動體驗更加精準。



          我感到很震驚。也許只是因為 iPad 的性能好?于是,我出去買了一臺低端的 Android 平板電腦。我選擇了一款功能配置差的,即使是打開設置屏幕都很不流暢。但這也是一項重要的測試,因為對許多人來說,這是他們唯一能使用的設備。


          我加載了 School Morning Routine,你猜怎么著,它運行得很好。雖然不算很出色,但這只是一款低端的 Android 平板電腦,你還能期待什么?


          于是,我走到辦公桌前,刪除了我的原生 iOS 應用,決定使用 Ionic Capacitor。


          現在,我要開發一款可以在三個平臺上運行的 App。我的構建腳本中有 3 個命令,分別用于部署到 iOS 平臺、Android 平臺或 AWS 的網站上。



          這太酷了!


          從那時起,我便在 Android、iOS 和 Web 上發布 School Morning Routine。不僅我的 iOS 用戶沒有注意到,漏洞的數量也減少了。有一個麻煩的 Bug 與渲染表格視圖有關,這個問題只發生在 iOS 14 上,它打印出來的堆棧跟蹤信息沒有用……但在我的跨平臺 Web 應用中,就不存在這個問題。


          直線出現在跨平臺 Web 應用發布之后


          不知為何,我的跨平臺 Web 應用實際上更穩定!

          這是怎么回事?


          為兒童開發的一款到處都是動畫的 App 居然是一款 Web 應用,這怎么可能?


          事實證明,在 2022 年,對于許多應用程序來說,編寫一次就可以在任何地方運行的夢想終于實現了。


          對于跨平臺 Web 應用來說,成本和收益之間的權衡總是以較差的性能換取較短的開發時間。對于 2014 年的大多數應用來說,這是一個糟糕的權衡。但在過去的 8 年里,很多事情都發生了變化。瀏覽器性能在穩步提升:


          圖片來源:https://v8.dev/blog/10-years


          Web 應用開發工具的種類和成熟度也在增加。現在,我們有了 React 和 TypeScript。IDE 和 Chrome 調試器比原生應用開發工具要領先好幾光年。有很多創新的設計模式和開源庫可用于實現你能想到的目標。JavaScript 的世界比 Swift 或 Kotlin 的世界更加有活力和豐富多彩。


          2022 年,成本和收益之間的權衡發生了變化。


          跨平臺 Web 應用的時代正在到來


          我一直是 Ionic 的鐵粉。他們在幾年前創辦了一家公司,是跨平臺 Web 應用的早期倡導者。我喜歡他們所做的工作,但我一直為他們感到難過。他們似乎押錯馬了,支撐跨平臺 Web 應用的技術無法支撐他們的夢想。


          但到了今天,我認為技術的發展終于與 Ionic 的愿景合拍了。


          可能你在幾年前就瘋狂地想要開發一款像 School Morning Routine 這樣的跨平臺 Web 應用。這確實沒毛?。∷芷?,真的!我已經在谷歌 Play Store 和蘋果 App Store 上發布了這款應用,你甚至可以在線使用它。


          不只是我,Josh Wardle 在去年末開發了 Wordle,這款手機游戲現在正風靡全球。正如我在另一篇文章(https://uxdesign.cc/wordle-is-a-masterclass-in-product-design-simplicity-52de1ba06d85)中所寫的,它甚至都沒有原生版本,只是一個使用 Web 組件開發的漸進式 Web 應用。

          結論


          我多么希望在我開始開發 School Morning Routine 時能夠讀到這樣的文章。過去,我忽視了跨平臺 Web 應用,只因為我覺得它們太慢了,但沒想到它們卻完美匹配我的應用。


          瀏覽器和 Web 技術每年都在變得越來越強大,每年都有更多類型的應用可以跨平臺開發。


          所以,在開始下一個項目之前,為什么不考慮一下跨平臺 Web 應用呢?或許它們真的不適你的項目,但或許,就像我一樣,你會發現它們可以“編寫一次,到處運行”。我覺得這非常出人意料。


          如果你想了解跨平臺技術在國內的最新實踐,點擊 GMTC全球大前端技術大會(北京站)發現 Weex 2.0、Waft(基于 WebAssembly 和 Skia 的 IoT 應用開發框架),還將看到 KMM、DSL 的優秀表現。


          原文鏈接(本文對文章結構有小小的改動):https://javascript.plainenglish.io/i-replaced-my-native-ios-app-with-a-cross-platform-web-app-and-no-one-noticed-1653901ce244


          主站蜘蛛池模板: 国产精品无码一区二区三级| 久久精品视频一区| 一区二区视频在线| 人妻夜夜爽天天爽一区| 国产一区二区视频免费| 久久高清一区二区三区| 亚洲日韩精品国产一区二区三区| 丰满人妻一区二区三区视频53| 中文无码精品一区二区三区| 亚洲欧美一区二区三区日产 | 一区二区三区伦理高清| 日本午夜精品一区二区三区电影| 久久久91精品国产一区二区| 国产伦精品一区二区三区不卡| 亚洲色无码一区二区三区| 日本精品视频一区二区| 国产精品香蕉在线一区| 国产AV午夜精品一区二区入口| 日本一区视频在线播放| 久久精品成人一区二区三区| 激情内射亚洲一区二区三区爱妻| 97久久精品午夜一区二区 | 亚洲日韩中文字幕一区| 亚洲AV日韩AV天堂一区二区三区| 一区二区在线视频观看| 韩国女主播一区二区| 精品国产精品久久一区免费式| 精品国产一区二区三区久久久狼| 日本一区二区在线| 国产精品视频一区二区三区| 日本在线视频一区二区| 怡红院AV一区二区三区| 精品国产一区二区三区久| 波多野结衣精品一区二区三区| 日本一区午夜爱爱| 好爽毛片一区二区三区四| 精品一区二区三区在线观看视频| 老熟女五十路乱子交尾中出一区| 日韩免费一区二区三区在线播放| 亚洲综合av一区二区三区| 久久久久女教师免费一区|