Tavotto
AI가 당신의 연구 그림을 그려줍니다
Plasmic은 코드베이스와 통합해 내부 도구부터 사용자 제품까지 빠르게 강력한 웹 앱을 만들 수 있게 해준다
Plasmic lets you build powerful web apps super fast, from internal tools to user facing products. Integrate with your codebase for unlimited possibilities.
디자인TypeScript · CSSGitHub @plasmicapp온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Visual builder for React. Build apps, websites, and content. Integrate with your codebase.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Vercel marketing page: https://youtu.be/itvbmgLZvcM (live app: https://vercel-workflow.vercel.app)
Apple.com: https://apple.plasmic.run
Shopify headless storefront: https://commerce.plasmic.run
Twitter clone: https://youtu.be/rpdjrFuVMog (live app: https://twitter.plasmic.run)
Service desk app: https://youtu.be/rYqSpUEJSTw (live app: https://tickets.plasmic.run)
Interview with Lee Robinson, Plasmic as a visual CMS: https://www.youtube.com/watch?v=pcVzNR6FBAQ
Plasmic is a visual builder for the web.
It enables rapidly designing and building applications and websites--code optional.
Main use cases:
Content management: let marketing drag/drop your React components to build landing pages in your Next.js website, with design guardrails
Applications: let developers and technical users quickly build internal tools, client portals, and business software
Website builder and design tool that doesn’t limit you to some built-in ecommerce platform, CMS, or hosting
Plasmic is powerful, with a deep feature set that scales to complex projects. And with codebase integration, it removes the ceiling typically associated with low-code tools.
Plasmic combines some seemingly disparate genres:
Today these are different tools to specialize in, but the line between, say, a website and an application is blurry (consider an ecommerce storefront with user logins). With the right foundations, we think these can be unified—Plasmic’s UI can adapt to different levels of control for different personas/tasks.
But more importantly, unlike existing tools, Plasmic integrates with codebases. This is critical to making low-code scale past the complexity ceiling that all such tools (including Plasmic) have. You can drag and drop existing complex React components, and you can visually create new UIs/components within traditionally-coded applications, seamlessly weaving code and no-code.
Some feature highlights:
Learn more on our website and our docs. Or check out comparisons of Plasmic vs other tools.
This is one popular use case of Plasmic.
Step 1. Install Plasmic into your codebase (exact package depends on your framework).
npm install @plasmicapp/loader-nextjs
Step 2 (optional). Make components from your app or design system available for drag-and-drop in the visual editor:
// Take any component from your app or design system...
export default function HeroSection({ children }) {
return <div className="hero-section">{children}</div>;
}
// ...and make it available for drag-and-drop, along with any props you want to
// expose.
PLASMIC.registerComponent(HeroSection, {
props: {
children: "slot",
},
});
Step 3. Add placeholders that render pages/components made in the visual editor anywhere in your app:
// pages/index.tsx
import {
PlasmicComponent,
PlasmicRootProvider,
} from "@plasmicapp/loader-nextjs";
import { PLASMIC } from "../plasmic-init";
// Here we fetch dynamically on the client, but you can also fetch and render
// components server-side in SSG/SSR frameworks, such as via getStaticProps
// in Next.js.
export default function IndexPage() {
return (
<PlasmicRootProvider plasmic={PLASMIC}>
<PlasmicComponent component="Summer22LandingPage" />
</PlasmicRootProvider>
);
}
Step 4. Non-developers (or developers!) can now create new pages, sections, or components that ship directly into the app/website.
Step 5. When you hit Publish, changes get picked up via webhooks that trigger rebuilds, or more specific mechanisms such as incremental static revalidation or dynamic fetching from the Plasmic CDN.
Plasmic is used by companies ranging from Fortune 500s to boutique brands to solo makers. It's used for websites ranging from headless commerce storefronts to marketing websites to logged-in app content.
Check out the Case Studies and Community Showcase.
Note: you do not need to integrate Plasmic with a codebase. This is core to using Plasmic as a CMS, but you can build complete apps and websites without this, entirely within Plasmic.
Read the full technical overview.
You can register your own arbitrary custom React components for use as building blocks within Plasmic Studio. Learn more about code components.
Besides the Headless API, you can also generate React code into your codebase. This is a powerful way to use Plasmic as a UI builder for creating rich interactive web applications—one example of this is Plasmic Studio itself. See the application development tutorials to learn more.
One common issue we see is mismatched or duplicate versions of packages.
@plasmicapp packages can depend on each other.
Each package always has an exact version of its @plasmicapp dependencies.
This is because we want to ensure that all packages are always in sync, and that we don't end up with a mismatched set of packages.
Packages like @plasmicapp/host must also be deduped, since functionality such as registerComponent make use of globals and side effects, so with multiple versions you could end up using the wrong "instance" of this package.
Additionally, types can be tightly coupled across multiple packages.
Unfortunately, npm and yarn make it easy for you to end up with mismatched versions and duplicate versions of packages.
Use the npm list command to ensure that you have unique deduped versions of packages.
Furthermore, issues can be "sticky," since npm/yarn are stateful.
At times, you may need to rely on npm dedupe, or removing and reinstalling Plasmic packages (including @plasmicpkgs packages), resetting package-lock.json/yarn.lock, in order to unwedge npm/yarn.
@plasmicpkgs (the built-in code component packages) have @plasmicapp packages as peer dependencies,
and these specify ranges rather than exact versions--this is to offer some flexibility for developers to use the core package versions they need, while still using @plasmicpkgs.
Note: exact versioning does not imply that every package increments versions for every release.
Packages are only incremented if they or their dependencies have changed.
Incrementing versions is done automatically when our deployment scripts run lerna version patch --exact...,
which detects whether a package has changed since its last git-tagged release.
Internal dependencies and devDependencies are declared as workspace:*, which pnpm publish replaces with the exact version at pack time.
Please see CONTRIBUTING.md.
Our docs and our community forum and Slack with 3000+ members are the best places to get help with Plasmic.
For support from the Plasmic team, please use the forum. The forum is also easily searchable for all previously asked questions and discussions.
Both the docs and forum are indexed by search engines! Search both by including “plasmic” in your query.
All content outside of platform/ is licensed under the MIT license--see LICENSE.md.
platform/ is licensed under the AGPL--see LICENSE.platform.md.
Thanks to all the people who make Plasmic!