2022/02/28

Svelte Native 與 React Native 比較

什麼是 Svelte Native?
Svelte Native 基於 Svelte 的 Framework,它允許 Svelte 開發人員構建原生 Android 和 iOS 應用程序。最初由 Rich Harris 於 2021 年 11 月發布。難道 JavaScript 框架還不夠多嗎?為什麼要用另一個?Svelte 的構建是為了流暢、交互、簡單和高效。

Svelte Native 結合了 Native Script 和 Svelte 的優點
根據 Svelte Native 網站,它是由 Svelte 提供支持的移動應用程式框架,能夠使用 Web 框架構建移動應用程式。

什麼是 React Native?
React Native 是一個基於 React 的跨平台移動應用程式開發框架,可構建原生 Android 和 iOS 應用程式。它是頂級的移動應用程式開發框架之一,由 Facebook 為其內部開發設計和開發,在 2015 年成為了一個開源項目。

React Native 將原生開發的部分與 React 結合在一起,React 是用於構建用戶界面的一流 JavaScript 程式庫。在 React Native 之前,開發人員使用的是使用 HTML、CSS 和 JavaScript 等 Web 技術構建的混合移動應用程式。在性能、速度造成了許多問題。React Native 允許 JavaScript 代碼使用橋接器與 Native Code 對話,從而使應用程序更快、性能更高。

如果 Svelte 和 React Native 都完成相同的任務,那麼它們有何不同呢?

React Native 的工作原理
React Native 在應用程式和目標設備(Android/iOS)之間創建了橋樑,允許 JavaScript 代碼與 Native Code 對話,反之亦然。 它通過創建三個 threads 來解釋不同級別的 JavaScript 代碼來做到這一點:UI thread、Shadow thread 和 JavaScript thread

UI thread
這會運行您的應用程式,並且是唯一可以取得 UI 的 thread。 因此它可以更新 UI 畫面。

Shadow thread
這會計算 React 建立的 UI 佈局,並將它們發送到 UI thread 的 Native Code。 React Native 利用 Yoga 將 JavaScript UI 代碼轉換為宿主平台可以理解的佈局系統。

JavaScript trhead
JavaScript thread 處理 JavaScript UI 佈局並將它們發送到 Shadow thread,從而將它們發送到 UI trhead。

使用 Svelte Native
Svelte Native 利用 NativeScript,它允許使用 JavaScript 開發本機應用程式,並讓 JavaScript 代碼直接訪問 Native Code。 它沒有包裝,這意味著可以訪問所有受支持的設備 API。

Svelte Native 和 React Native 的採用
與 Svelte Native 相比,React Native 擁有龐大的社群。React Native 在 GitHub 上有超過 10 萬顆星,而為 Svelte Native 提供支持的 NativeScript 有 2 萬多顆星。

如果開發人員遇到錯誤,使用 React Native 比使用 Svelte Native 更容易找到幫助,因為可能有很多開發人員遇到了同樣的問題並分享了他們的解決方案。

學習曲線和發展速度
與 Svelte Native 相比,React Native 的學習曲線陡峭。任何了解 JavaScript 的開發人員都可以開始使用 Svelte Native,因為語法簡單、簡短且易於理解。

React Native 需要 React 知識,這並不容易立即進入,因為需要了解 JSX 是如何運作的以及生命週期是如何運行的。

開發速度在很大程度上取決於開發人員以及他們對如何使用該工具(React 或 Svelte)的了解程度。從 React Native 開發人員過渡到專注於 Svelte Native 的開發人員並不難,但是如果你從 Svelte Native 切換到 React Native,可能需要更多時間來學習。

React Native 與 Svelte Native 設置
為開發設置 React Native 很大程度上取決於您使用的工具。如果您使用 React Native CLI,則設置 React Native 更具挑戰性,因為您需要設置 Xcode 或 Android SDK 來編譯和運行模擬器。但是,使用 Expo 可以簡化設置過程,因為它可以實時編譯代碼。

對於 Svelte Native,需要設置 Android SDK 來運行 NativeScript,目前沒有工具可以像 Expo 那樣對 React Native 進行測試。

這兩個移動應用程式開發框架都很棒。與往常一樣,沒有最適合的正確答案。如果您打算開始一個新的移動應用並且使用熟悉的 JavaScript 並快速構建,請從 Svelte Native 開始。但是,如果您是 React 開發人員,您可能更喜歡使用 React Native 進行構建,因為它最適合 React 。

2022/02/26

.NET 7 中的 Blazor Hybrid

微軟的 ASP.NET Core 開發團隊對 .NET 7 中的 Blazor Hybrid 將於 11 首次亮相。

雖然 Blazor 自 2018 年以來在客戶端和服務器端組件中都存在,但對使用 .NET MAUI 和 Blazor 跨平台混合桌面應用程序的支持於去年 11 月隨 .NET 6 一起出現。 Blazor 混合應用程序是本機應用程序,可以利用 HTML 和 CSS 等 Web 技術提供附加功能。 因此,混合應用程序可能使用嵌入式 WebView 控件來呈現 Web UI。

開發人員何時可以在 .NET 7 預覽版中嘗試其中的一些功能呢?沒人知道。

2022/02/20

如何使用 AI 與 Big Data 來幫助野生動物

目前許多領域已進入大數據和物聯網時代。由於衛星、無人機等先進技術,現在可收集有關野生動物種群的大量數據。這些數據變得如此容易獲取和共享,從而縮短了研究人員距離和時間要求,同時減少了人類在自然棲息地中的干擾。如今,可以使用各種 AI 來分析大型數據集。目前一些大學的科學家團隊概述了解決該問題的開創性方法,並透過將電腦視覺與生態學家的專業知識相結合來開發更準確的模型。

野生動物研究已走向全球。現代技術現提供了革命性的新方法,可以更準確地估計野生動物種群,更了解動物行為。生態學家使用 AI,使用電腦視覺,從圖像、視頻和其他視覺形式的數據中提取關鍵特徵,以便快速分類野生動物物種、計算動物數量並收集某些信息。當前用於處理此類數據的程式通常像黑匣子,並且不能充分利用關於動物的現有知識。更重要的是,它們難以定制,有時質量控制不佳,並且可能會受到與敏感數據相關的道德問題的影響。它們還包含一些偏見,尤其是區域性的;例如,如果用於訓練的數據是在歐洲收集的,那麼可能不適合世界其他地區。

如果科學家想要經過訓練 AI 來減少識別特定物種的誤差範圍,他們需要利用動物生態學家的知識。這些專家可以將哪些特徵考慮到程式中,例如一個物種是否可以在特定的緯度生存,它是否對另一個物種的生存至關重要或者該物種的生理機能是否在其生命週期內發生變化。新的機器學習算法可用於自動識別動物。例如斑馬獨特的條紋圖案,或者在視頻中,它們的運動行為可以成為身份的標誌。野外生物學家對正在研究的動物擁有豐富的領域知識,而作為機器學習研究人員的工作是與他們合作構建工具以找到解決方案。一個名為 DeepLabCut 的開源,讓科學家能夠以極高的準確性估計和跟踪動物。它已經被下載了 300,000 次。 DeepLabCut 專為實驗室動物設計,但也可用於其他物種。

2022/02/19

構建深度學習模型:PyTorch vs TensorFlow

目前兩個最流行的 Python 的深度學習程式庫是 PyTorch 和 TensorFlow。對於機器學習來說,在選擇深度學習模型時可能會很難決定使用哪一個。因為您可能不清楚其中的區別,而無法做出決定。以下簡單說明一些差異:

TensorFlow簡介
Google 開發了 TensorFlow,並於 2015 年開源。是從 Google 的內部機器學習軟件演變而來的,經過重構和優化以供其他人使用。TensorFlow 指的是資料組織和處理方式。當您使用 TensorFlow 時,您會構建一個有狀態的數據流,它類似於事件的流程圖。TensorFlow 以高性能深度學習庫而聞名。它擁有龐大而活躍的用戶群,以及大量的官方和第三方培訓、部署和服務模型、工具和平台。

PyTorch 簡介
PyTorch 是最新的深度學習框架之一,由 Facebook 團隊開發並於 2017 年在 GitHub 上發布。PyTorch 因其易用性、簡單性和高效而越來越受歡迎。在編寫程式碼之前可對其進行測試以查看是否有效。

PyTorch 模型中的訓練和評估過程會比較順暢,而在構建塊方面,TensorFlow 由於其簡化的 API 更適合初學者。

2022/02/12

百萬年薪不是夢 JavaScript 學習路徑

如果你想在程式開發有一番成就,且用 JavaScript 做到,那恭喜你,你做了一個正確的選擇。 但過程會很艱難,且困難重重並具有很大的挑戰性,不過請堅持。如果你能學到很好的開發經驗,你的收入將超過百萬年薪。

您必須掌握的第一件事是 JavaScript 的基礎知識。包含語法、類型和變量。當你理解了這些基本概念後,你就可以深入研究更深層次的東西了。當你熟悉更多東西,你應該會知道所有 JavaScript 的基本概念,並且你可以寫簡單的程式。接著你應該要了解該如何操作 DOM。
所需時間:5天到10天

JavaScript 可以非常簡單地處理網頁的 DOM。您可以學習如何使用 JavaScript 選擇元素,學習如何使用 getElementById 等方法。JavaScript 可以使網頁動態化,試試使用 innerHTML, createElement, appendChild 等方法,來改變網頁上的元素。
所需時間:5天

網頁上少不了要顯示相關的資料,數據資料也可能會隨著時間而改變。所以,你需要知道如何使用 HTTP 請求,這不需要很多程式碼但卻是非常重要的步驟。現在的網站都會用到 API 請求,所以,一定要盡可能學好關於使用 HTTP API 的一切。
所需時間:3天

接著您需要了解一些有點困難但對編寫大型代碼庫很有必要的概念。像是 this、let、const、arrow functions 等。一旦你掌握了這些,你就可以繼續學習 OOP 的觀念。建議試著使用 TypeScript 來寫程式。
所需時間:15天到30天

JavaScript 有很多強大且有用的 library 和 framework,可以快速達成很多不同的東西。例如試試看 Chart.js,用於產生可視化數據的圖表。
所需時間:5天到10天

您可以開始學著使用更強大的 library 和 framework。要成為專業人士,您需要掌握至少一個 UI  framework,例如 React、Angular 或 Vue.js。您需要這些 framework 來產生使用者介面,並用最佳的方式操作 DOM。也許你無法了解所有 framework,但你至少要學習其中一個並掌握它。
所需時間:30天到60天

您現在可以開始學習使用 Node.js、安裝它並在其上進行開發。一個非常重要的工具是 npm,它用於安裝依賴元件,並且創造您自己的元件。使用 Node.js 開發一些東西,並嘗試使用一些 npm library,請自己寫寫看,確認知道如何使用它。
所需時間:15天到30天

為了讓你自己更了解 JavsScript,在每一個階段都必須試著寫一些程式來練習,以確保你明白你所學的重點。如果你能完成以上的學習階段,你一定可以找到一份 JavaScript 開發人員的工作。所有學習過程都可能會有所不同,取決於您如何學習程式語言的經驗。 所以,Do your best,學習成功所需的一切。祝找到一個理想的 JavaScript 工作。

2022/02/06

Want to know about CSS Framework?

What Is Tailwind CSS?

Adam Wathan originally developed tailwind CSS and was first released on November 1st, 2017. It is a utility-first low-level framework. You won't need to write a lot of CSS. Just write many classes for your HTML elements.

Tailwind CSS is highly customizable. You can easily use the styling of every single component separately. You may think that it's not at all convenient to write a lot of classes. That's where component extraction comes. You can bundle these classes into one and name it as you want.

These are some reasons Tailwind CSS is drawing a lot of attention. It offers flexibility for time. It has high freedom, has advantages for customization, and solves common problems and difficulties in CSS development.

There is no faster framework than Tailwind for styling HTML. You can easily create good-looking layouts by styling elements directly, because Tailwind offers thousands of built-in classes that do not require you to create designs from scratch.


What Is Bootstrap CSS Framework?

Bootstrap is a branch of Twitter internal design tools in mid 2010, and became an open-source framework on August 19th, 2011. It is based on Object-Oriented CSS.

It is super easy to learn and maintain consistency across multiple devices and browsers. The responsive 12-column grid system, components, and layouts are just a matter of a few minor changes. You can do offsetting and nesting of columns in both fluid-width and fixed layouts. You can use responsive utility classes to hide or display certain content only on a specific screen size. Bootstrap has got almost everything covered, navigation bar, pagination, breadcrumbs, etc. If you know CSS, it will be super easy to customize them and build a decent website template.

Bootstrap is limited in customization, but because there are many off-the-shelf components, it can be developed quickly and efficiently.But if you use Bootstrap poorly, then your site will look similar to other sites.