docs icon indicating copy to clipboard operation
docs copied to clipboard

GSoD workplace: Create new WasmEdge plug-in contributor guides in C, C++, and Rust

Open mhmohona opened this issue 2 years ago • 4 comments

Project Name: Create new WasmEdge plug-in contributor guides in C, C++, and Rust

Description: This issue serves as a centralized place to track the progress of the WasmEdge plug-in contributor guides project, which is part of the Google Season of Docs (GSoD) program. The objective of this project is to create comprehensive guides for developers who want to contribute to the WasmEdge ecosystem by implementing plug-ins in C, C++, or Rust.

The purpose of this issue is to keep a record of the pull requests (PRs) submitted by me throughout the course of this project. By linking the PRs here, it will be easier to track and review the progress and provide feedback as needed.

Project Details:

  • GSoD Project Name: Create new WasmEdge plug-in contributor guides in C, C++, and Rust
  • Contributor: @mhmohona
  • Mentor: @juntao, @alabulei1, @q82419

Outline

  • Getting Started with WasmEdge Plugins

    • What is a WasmEdge plugin?
    • How can WasmEdge plugins be used?
    • Benefits of using WasmEdge Plug-in System
  • Developing WasmEdge Plugins

    • Requirements for developing a WasmEdge plugin
    • Choosing a programming language
      • C
      • C++
      • Rust
    • Setting up the development environment
    • Creating a WasmEdge plugin project
    • Defining the plugin API
    • Implementing the plugin API
    • Compiling the WasmEdge plugin
  • WasmEdge Plugin API Reference

    • Loading a WasmEdge plugin
    • Registering the plugin API
    • Importing the plugin modules
    • Sample application that uses a WasmEdge plugin
    • Examples of WasmEdge Plug-ins
      • Overview of the WasmEdge Plug-ins
      • WasmEdge-Process Plug-in
      • WASI-Crypto Plug-in
      • WASI-NN Plug-in with OpenVINO backend
      • WASI-NN Plug-in with PyTorch backend
      • WASI-NN Plug-in with TensorFlow-Lite backend
      • WasmEdge-HttpsReq Plug-in
  • Understanding WasmEdge Plugins

    • Best Practices for Developing WasmEdge Plug-ins
      • Security best practices
      • Performance best practices
      • Compatibility best practices
      • Documentation best practices
    • Error handling
      • How to handle errors in WasmEdge plugins
      • Tips for avoiding common error-handling pitfalls
    • Debugging
    • How to debug WasmEdge plugins
    • Tips for using WasmEdge's debugging tools
    • Testing
      • How to test WasmEdge plugins
      • Tips for writing effective WasmEdge unit tests
  • Conclusion

  • Recap of WasmEdge Plug-in System

  • Future Development Roadmap

PRs Submitted:

  • #105
  • #106
  • #107
  • #102

mhmohona avatar May 31 '23 06:05 mhmohona

Update until today, 20 June -

Pull Request - #102

Improved existing documentation -

  • Plugin Introduction
  • Loadable Plugin
  • Currently released Plugin

Created new documentation -

  • Developing WasmEdge Plugins
    • Requirements for developing a WasmEdge plugin
    • Choosing a programming language
      • C
      • C++
      • Rust
    • Setting up the development environment
    • Creating a WasmEdge plugin project
    • Defining the plugin API
    • Implementing the plugin API
    • Compiling the WasmEdge plugin

mhmohona avatar Jun 20 '23 00:06 mhmohona

@mhmohona Please update your work progress here. Thanks.

alabulei1 avatar Jul 26 '23 04:07 alabulei1

Update till July 31 -

  • Followed up with mentors.
  • Finalized the #102

mhmohona avatar Aug 02 '23 04:08 mhmohona

Update till September - Worked on following PRs

  • #146
  • #144
  • #153

mhmohona avatar Sep 24 '23 04:09 mhmohona