AB
AiBoss
project

Furion - .NETベースの無料かつオープンソースのAI開発フレームワーク

Furionは、.NETをベースとした無料のオープンソース開発フレームワークで、開発プロセスを簡素化し、開発効率を向上させます。Windows、Linux、Mac OS、Dockerなど、複数の動作環境をサポートしており、Web APIやWebアプリケーションなどの開発に適しています。

Furionとは何ですか?

Furionは、.NETベースの無料かつオープンソースの開発フレームワークで、開発プロセスを簡素化し、開発効率を向上させます。Windows、Linux、Mac OS、Dockerなど、複数の実行環境をサポートし、Web API、Webアプリケーション、モバイルアプリケーションなど、さまざまな種類のアプリケーションの開発に適しています。Furionのコア機能は、軽量性、高性能、使いやすさです。ミニマルな設計思想により、開発者は必要なのはシンプルなものだけで、すぐに開発を開始できます。 Inject() この手法は、ほとんどの設定作業を処理できます。Furionには、動的なWeb API、権限管理、データベース操作など、エンタープライズレベルの豊富な機能が組み込まれており、開発作業負荷を大幅に軽減します。フレームワークの柔軟なアーキテクチャは、複雑で変化の激しい要件にも容易に対応でき、長期的な保守も容易です。Furionは、開発者が迅速に使い方を習得できるよう、包括的な開発ドキュメントと、オンラインチュートリアルやビデオなどの豊富な学習リソースを提供しています。FurionのオープンソースリポジトリはGiteeとGitHubにあり、開発者は自由にコードをダウンロード、使用、貢献できます。

フリオンの主な機能

  • 動的Web APIFurionは強力な動的Web API機能を提供し、開発者は大量のコードを手動で記述することなく、APIインターフェースを自動生成できます。自動ルーティング、自動パラメータバインディング、自動結果返却などの機能をサポートしており、Web API開発プロセスを大幅に簡素化します。
  • 依存性注入拡張機能Furionは、.NETの依存性注入(DI)メカニズムに基づいており、より柔軟な拡張機能を提供します。シンプルな... Inject() この方法は、迅速なサービス登録を可能にし、.NETのネイティブな依存性注入メカニズムと互換性があります。
  • データベース操作Furionは強力な組み込みデータベース操作機能を備えており、SQL Server、MySQL、PostgreSQLなど、さまざまなデータベースをサポートしています。また、Entity Framework Coreへの拡張機能を提供し、動的SQLクエリ、ページネーションクエリ、バッチ操作などをサポートします。
  • アクセス管理Furionは、ロール、ユーザー、権限の動的な管理をサポートする汎用的なアクセス制御機能を提供します。ロールベースアクセス制御(RBAC)は簡単な設定で実装でき、動的な権限検証もサポートされています。
  • マルチテナント対応Furionはマルチテナントアーキテクチャをサポートしており、異なるテナント間でのデータ分離を容易に実現できます。開発者はシンプルな設定とコードでマルチテナント機能を実装でき、エンタープライズレベルのアプリケーションのニーズに対応できます。
  • ファイルのアップロードとダウンロードFurionは、ローカルストレージとクラウドストレージ(Alibaba Cloud OSS、Tencent Cloud COSなど)に対応した便利なファイルアップロードおよびダウンロード機能を提供します。また、ファイルチャンクアップロードや中断されたアップロードの再開などの機能もサポートしています。
  • ログ管理Furionにはログ記録機能が組み込まれており、Serilog、NLogなどの様々なログフレームワークをサポートしています。アプリケーションの実行時ログ情報を簡単に記録できるため、トラブルシューティングやパフォーマンス監視が容易になります。
  • タスクスケジューリングFurionはタスクスケジューリング機能を提供し、スケジュールされたタスクと非同期タスクの両方をサポートします。開発者はタスクを簡単に定義および管理して、スケジュールされた実行やバックグラウンド処理を実現できます。
  • 国際化支援Furionは多言語対応の国際化をサポートしており、アプリケーション内で複数の言語を簡単に切り替えることができます。また、国際化されたコンテンツをリソースファイルまたはデータベースに保存することも可能です。
  • コードジェネレーターFurionは、データベースのテーブル構造に基づいてコードを自動生成できるコードジェネレーターを提供します。エンティティクラス、APIインターフェースコード、データベース操作コードなどの生成をサポートし、開発効率を大幅に向上させます。
  • ミドルウェアのサポートFurionはカスタムミドルウェアをサポートしており、開発者は必要に応じてアプリケーションの機能を拡張できます。ミドルウェアの登録および管理メカニズムを提供することで、リクエストの傍受やレスポンスの処理といった機能の実装を容易にします。
  • マイクロサービスのサポートFurionはマイクロサービスアーキテクチャをサポートしており、サービス分解とサービスディスカバリの実装を容易にします。また、ConsulやEtcdなどのサービスレジストリを介したサービス管理もサポートしています。

Furionの公式ウェブサイトアドレス

  • 公式サイトアドレス:https://furion.net/

Furionの使い方

  • 環境準備.NET SDKとVisual Studioの最新バージョンがインストールされていることを確認してください(Visual Studio 2019以降を推奨します)。
  • プロジェクトを作成する
    • コマンドラインツールを使用するFurionプロジェクトテンプレートをインストールします。
      dotnet new install Furion.Template.Api
    • プロジェクトを作成する:
      dotnet new furionapi -n MyFurionWebApi
      FurionベースのWeb APIプロジェクトが作成されます。
    • Visual Studio を使用する
      • Visual Studioを開き、「新規プロジェクトの作成」をクリックします。
      • テンプレートから「Furion WebAPIテンプレート」を選択し、プロジェクト名とパスを設定してから、「作成」をクリックします。
  • Furionの依存関係を追加するNuGet を介して Furion フレームワークとその依存関係をインストールします。プロジェクトで次のコマンドを実行してください。
dotnet add package Furion
  • または、Visual Studio の NuGet パッケージ マネージャーで検索してインストールしてください。
  • Furionの設定:存在する Program.cs ファイルに追加 Inject() Furionの機能を有効にする方法:
    using
    Microsoft.AspNetCore.Hosting;
    using
    Microsoft.Extensions.Hosting;
    namespace
    FurionStart
    {
    public
    class
    Program
    {
    public
    static
    void
    Main(string[] args)
    {
    CreateHostBuilder(args).Build().Run();
    }
    public
    static
    IHostBuilder
    CreateHostBuilder(string[] args)
    =>
     Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
     webBuilder
     .Inject()
    // 添加这一行
    .UseStartup<Startup>());
    }
    }
    • 存在する Startup.cs ファイルに追加 AddInject() そして UseInject()
      public
      void
      ConfigureServices(IServiceCollection services)
      {
       services.AddControllers().AddInject();
      }
      public
      void
      Configure(IApplicationBuilder app,
      IWebHostEnvironment env)
      {
      if
      (env.IsDevelopment())
      {
       app.UseDeveloperExceptionPage();
      }
       app.UseHttpsRedirection();
       app.UseRouting();
       app.UseAuthorization();
       app.UseInject();
      // 添加这一行
       app.UseEndpoints(endpoints =>
      {
       endpoints.MapControllers();
      });
      }
  • 最初のAPIを書いてみようサービス クラスを作成して使用する [DynamicApiController]機能または実装 IDynamicApiControllerインターフェースを使用して動的APIを定義します。
using
Furion.DynamicApiController;
namespace
MyFurionWebApi.Application
{
[DynamicApiController]
public
class
HelloService
{
public
string
SayHello(string name)
{
return
$"Hello, {name}";
}
}
}
  • プロジェクトを開始したら、 /api/HelloService/SayHello?name=Kimi これを使ってインターフェースを呼び出します。
  • その他の機能
    • データベース操作Furionのデータベース拡張機能により、CRUD操作を迅速に行うことができます。
    • アクセス管理Furionの権限管理機能を使用すれば、ロールベースのアクセス制御を容易に実装できます。
    • タスクスケジューリングFurionのタスクスケジューリング機能を使用すると、スケジュールされたタスクを定義して管理できます。
  • 実行中のプロジェクトプロジェクトを実行すると、FurionはデフォルトでWebサーバーを起動し、Swaggerを介してAPIドキュメントとテストインターフェースを提供します。

Furionのアプリケーションシナリオ

  • 企業経営と情報技術Furionは、顧客関係管理(CRM)、プロジェクト管理、人事管理といった企業経営分野で幅広く活用されています。FurionのローコードプラットフォームとAI連携により、企業は顧客情報の入力、フォローアップ記録、売上分析などの機能を実現する管理システムを迅速に構築できます。
  • 製造業と産業製造業において、Furionは設備管理、生産計画、サプライチェーン管理といった様々な場面で活用されています。AI技術と組み合わせることで、Furionはリアルタイムの設備状態監視、データ分析、故障予測を実現し、工場における設備故障率とメンテナンスコストの削減に貢献します。
  • 電子商取引と金融Furionフレームワークはクロスプラットフォーム展開をサポートしており、eコマースや金融などの業界におけるマイクロサービスシナリオに適しています。例えば、YShopはFurionとVueをベースに開発されたモバイルeコマースプロジェクトです。
  • 教育とオンライン学習Furionは、オンライン試験システムや学習管理システムなどのオンライン教育システムを開発しています。試験管理、成績統計、学習進捗状況の追跡など、複数の機能をサポートするシステムを迅速に構築できます。
  • マイクロサービスアーキテクチャFurionは、依存性注入やAPIゲートウェイなどの機能をサポートし、マイクロサービスの開発と保守を簡素化する高性能マイクロサービスフレームワークです。その動的APIコントローラー機能は、迅速なイテレーションを伴うプロジェクトや、高いAPI柔軟性が求められるシナリオに適しています。