We may earn an affiliate commission when you visit our partners.
Pluralsight logo

Packages, Crates, and Modules in Rust

Mike Woodring

This course will teach you how to organize Rust applications, split them into libraries ("crates"), use libraries written by other Rustaceans, and share your own libraries with the Rust community.

Read more

This course will teach you how to organize Rust applications, split them into libraries ("crates"), use libraries written by other Rustaceans, and share your own libraries with the Rust community.

In practice, production grade Rust code is developed using a higher order build and package manager utility. In this course, Packages, Crates, and Modules in Rust, you’ll learn how to create, use, update and publish modular libraries (crates) in Rust. First, you’ll explore Rust’s model for modular code segregation and reuse: crates and modules. Next, you’ll learn how to use Rust’s package manager, Cargo, to create new packages and leverage external libraries. You’ll then explore Rust’s facilities for working with larger projects: workspaces and features. Finally, you’ll learn how to use Cargo to publish modular libraries that other developers in the Rust ecosystem can leverage in their projects. When you’re finished with this course, you’ll have the skills and knowledge needed to build, use, and share modular libraries in Rust.

Enroll now

What's inside

Syllabus

Course Overview
What’s in a Name?
Understanding Crates and Modules
Managing Projects with Cargo
Read more
Managing Dependencies with Cargo
Managing Project Scale with Workspaces
Optimizing Builds with [features]
Publishing Crates

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches foundational concepts such as crates and modules, which are widely used in Rust projects
Involves practical examples and hands-on exercises to reinforce understanding
Covers managing project scale with workspaces, which is essential for working with larger Rust projects
Provides a solid foundation for developers who are new to working with modular libraries in Rust
Builds a foundation for learners interested in exploring the Rust ecosystem and using external libraries

Save this course

Save Packages, Crates, and Modules in Rust to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Packages, Crates, and Modules in Rust. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Packages, Crates, and Modules in Rust will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers build software systems. They make sure that software operates in a manner that meets user needs. They may also work on building new software applications. Software Engineers should take this course to gain the skills needed to manage complex software projects from start to finish.
Software Developer
Software Developers bring software visions to life. They write code and work with other engineers to develop and maintain both user-facing applications and internal systems. Software Developers should take this course to build a foundation in managing modular Rust libraries. They will gain skills necessary to make the best use of existing libraries to save time and effort in the development process.
Back-End Developer
Back End Developers are responsible for the infrastructure that powers applications and websites. They perform tasks that include designing, building, and managing scalable, high-performance back-end systems. Back End Developers should take this course to gain a stronger understanding of Rust modularity which can aid them in the development of server-side applications.
Front-End Developer
Front End Developers interact with user interfaces. They take an idea from the conceptual stage to a working interface and design system by using the latest web technologies. Front End Developers may find this course useful to brush up on the interplay between modules, crates, and packages in Rust, which can improve their efficiency when building front end user interfaces.
Full-Stack Developer
Full Stack Developers work across the entire software development lifecycle, bridging the gap between front end and back end development. This course would be helpful to Full Stack Developers who want to learn more about more efficient use of Rust in their projects by leveraging the modularity that Rust offers.
DevOps Engineer
DevOps Engineers combine software development (Dev) and IT operations (Ops) to build, deploy, and maintain software systems. They work to improve collaboration and communication between development and operations teams. DevOps Engineers may find this course useful to gain additional insights on how modularity and packaging influences development and deployment in Rust.
Data Engineer
Data Engineers design, construct, and maintain the infrastructure used to store and process data. They work with large amounts of data to make it useful for data-driven decision-making. This course can be useful for Data Engineers who wish to work with Rust to gain a better understanding of packaging for Rust data processing modules.
Cloud Engineer
Cloud Engineers design, build, and manage cloud computing systems. They work with cloud platforms to develop and deploy applications and services. This course can be useful for Cloud Engineers who use Rust in their work, as it can help them gain more experience with managing and leveraging cloud-based Rust modules, crates, and packages.
Security Engineer
Security Engineers design, implement, and manage security controls to protect an organization’s systems and data from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may be useful for Security Engineers who wish to gain experience with Rust security modules and learn about leveraging Rust security features in their work.
Game Developer
Game Developers design, develop, and maintain video games. They work with game engines and other tools to create interactive and immersive gaming experiences. Game Developers who work with Rust may find this course useful for gaining a better understanding of Rust modularity for game development.
Web Developer
Web Developers design, develop, and maintain websites. They work with web technologies to create user-facing web applications and interfaces. Web Developers who use Rust in their work may find this course useful for learning more about managing modular Rust packages and effectively leveraging existing libraries.
Mobile Developer
Mobile Developers design, develop, and maintain mobile applications. They work with mobile operating systems and development tools to create user-facing mobile apps. Mobile Developers who use Rust may find this course helpful for gaining a better understanding of Rust modularity for mobile development.
Embedded Software Engineer
Embedded Software Engineers design, develop, and maintain software for embedded systems. Embedded Software Engineers may find this course useful for learning more about Rust for embedded systems and gaining experience with modularity in an embedded context.
Systems Engineer
Systems Engineers design, develop, and maintain complex systems, typically involving hardware and software components. Systems Engineers may find this course helpful to gain a better understanding of Rust for systems engineering and learn about leveraging Rust modularity in systems design.
Computer Scientist
Computer Scientists conduct research to advance our understanding of computing and information technology. This course may be useful for Computer Scientists who wish to gain experience with Rust modularity and learn about its applications in computer science research.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Packages, Crates, and Modules in Rust.
Comprehensive guide to the Rust programming language. It covers all the basics of the language, as well as more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.
Practical guide to Rust. It covers the basics of the language, as well as more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.
Comprehensive guide to Rust. It covers all the basics of the language, as well as more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.
Comprehensive guide to the Rust programming language. It covers all the basics of the language, as well as more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.
Deep dive into the Rust programming language. It covers the internals of the language, as well as more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.
Collection of essays on Rust. It covers a wide range of topics, from the basics of the language to more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.
Comprehensive guide to the Rust programming language. It covers all the basics of the language, as well as more advanced topics such as concurrency, memory management, and unsafe code. It great resource for anyone who wants to learn more about Rust.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Packages, Crates, and Modules in Rust.
Developing Packages in Flutter
Most relevant
Package Management in JavaScript with npm and Yarn
Most relevant
Microsoft Azure DevOps Engineer: Inspecting and...
Most relevant
Package Management in Visual Studio 2022
Most relevant
Building Rust AWS Lambda Microservices with Cargo Lambda
Most relevant
Creating a Type Declaration File in TypeScript
Most relevant
Package Management on Red Hat Linux with DNF and RPM
Most relevant
DevOps with Github and Azure: Implementing Package...
JavaScript Asynchronous Module Definition (AMD) Explained
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser