plotly / plotly/Plotly.NET

[C#] Plotly.NET.CSharp Roadmap

Đang mở
#379 0 bình luận 3 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Area: CSharp Area: Meta Area: MissingAbstraction Type: Enhancement
Ngôn ngữ chính
F#
Star
860
Fork
99
Merge trung bình
22 phút
Pull request đã merge (30 ngày)
1

Mô tả

This issue tracks the roadmap for the native C# package Plotly.NET.CSharp

Plans on how to design and develop the C# API have been laid out and tracked in #285 and #322.

The general roadmap implementation-wise is the following:

  • 1. C# bindings for the high-level Chart construction API (#296), one binding per chart at first (no overloads)
  • 2. C# GenericChart Extension methods (this covers more or less all styling functions). Once these are finished, the F# extension methods for fluent interface can be removed.
  • 3. C# bindings for Object abstractions (TraceObjects, LayoutObjects, etc.) this might be a bit tricky
    Progress on this side has been made on the 'csharp-object-bindings' branch. In short, all these bindings can be auto-generated by using reflection on the F# objects. Might be worth to look into C# source generators

The way to go for the future is clearly code generation. The F# core API could in theory also created from the plotly.js JSON schema, but has many features that would be hard to automate such as type safety for enums etc.

To prevent having to namually maintain 2 code bases though, we should at least try to auto-generate the C# API based on the F# API, over which we have full control.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách đọc các mục trong roadmap và các cuộc thảo luận thiết kế trước đây ở #285 và #322. Kiểm tra branch csharp-object-bindings, đặc biệt là src/Plotly.NET.Codegen, và đánh giá cách tiếp cận tạo mã được đề xuất; roadmap hoàn tất khi các phần mở rộng C# và các object binding còn lại được triển khai mà không phải duy trì thủ công một API thứ hai.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp, fsharp
Lĩnh vực
tooling
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.