草庐IT

DevUI开源经验分享:从0到1开始运营你的开源项目

华为云开发者社区 2023-03-28 原文
摘要:DevUI是面向企业中后台产品的开源前端解决方案,于2019年6月正式在GitHub开源,从当时的无人问津到去年8月累计1000 Star,再到现如今上千名社区成员、上百位贡献者、达成了3000 star的成就,也只经历了短短2年的时间。

本文分享自华为云社区《从0到1开始运营你的开源项目——华为云DevUI成长经验分享》,作者:HCDG小助手。

在10月29日举行的第七届开源年会上,我们有幸邀请到了华为云DevUI团队的Kagol老师与大家分享DevUI开源的故事。从摸着石头过河到现在专注于前端组件库建设和开源社区运营,Kagol老师有太多宝贵的经验值得我们去学习。

开源年会现场Kagol老师与参与DevUI开源贡献者宋同学合影

DevUI是面向企业中后台产品的开源前端解决方案,于2019年6月正式在GitHub开源,从当时的无人问津到去年8月累计1000 Star,再到现如今上千名社区成员、上百位贡献者、达成了3000 star的成就,也只经历了短短2年的时间。

我们总结了以下4点运营经验:

1、打响知名度:

通过在掘金等开发者聚集的技术社区撰写技术文章,通过优质内容吸引关注者,并将关注者引流到技术交流的微信群。

Ng DevUI 组件库从Angular、RxJS、TypeScript、CDK等多个开源项目吸收养分、茁壮成长,并通过华为云众多业务的实践,沉淀出一套华为云风格的组件库。我们希望能够把这些优秀实践回馈给开源社区。于是Ng DevUI在2019年6月正式在GitHub开源。

2020年3月,我们开始尝试性地在掘金社区运营DevUI团队的技术专栏,一年时间产出了39篇技术干货。特别感谢社区的小伙伴Zcating投稿了6篇文章,为技术专栏做出贡献。这一年可以说是DevUI开源社区运营的元年,也正是在这一年DevUI开始在社区有一定的曝光度,还获得了掘金2020年度人气团队TOP5的荣誉。

2、营造温暖社区氛围:

通过大版本、新特性推广软文,让开发者了解我们在做什么、打算做什么,我们的优势是什么,吸引社区开发者参与到我们的开源项目的贡献中来。

经过一年多的内容积累,在2021年4月我们尝试性地发布了第一篇Ng DevUI软文——《2021年最值得推荐的7个Angular前端组件库》,取得了不错的反响。后面陆续发布了一系列介绍DevUI开源项目、多个里程碑版本的介绍文章,短时间内吸引了很多关注者。更让人感激的是吸引到了一位社区开发者Brenner的强势加入,Brenner持续近2个月的贡献完成了10个组件,极大丰富了组件库内容。

后续我们继续发布同步Vue DevUI项目进展的文章,其中留下了小助手的微信号持续吸引感兴趣的开发者们,经过100多位贡献者持续近600天,写了近60000行代码,Vue DevUI 终于在今年9月初发布了v1.0正式版本,衷心感谢各位为开源组件做出的贡献。

3、与外部社区积极合作:

一起举办直播活动,可以获得双赢的结果,为双方的社区都带来有价值的内容,促进双方社区的活跃。

2021年9月我们想扩大推广范围,除了文章以外还尝试通过视频或直播的方式推广DevUI,正当不知如何开始时,我意外通过参与B站Up主前端杨村长和职业我狗哥的简历点评活动和直播结缘,村长邀请我到他的直播间去分享做Vue DevUI 的经验。虽然第一次直播有点紧张,但后续逐渐适应连播了4个月,从9月份到12月份产出了《我要做开源》系列直播视频10期。这个系列为DevUI开源社区吸引了非常多贡献者,其中还有一些成为了我们项目的核心成员。中间有两期还带我们的社区成员一起到直播间玩,他们都觉得是非常有趣的体验。

4、持续运营与贡献:

通过搭建一个开发者之间相互交流的平台,组织定期的沟通会,将大家凝聚在一起,通过设计良好的激励机制,让社区成员产生成就感和归属感,从而更愿意在社区持续贡献和成长。

开源社区包含对社区成员和组织的双重价值,要吸引更多人加入社区,需要讲清楚社区存在的价值。

社区成员渴望有意义的协作方式,通过社区,他们可以:

  • 结识其他优秀的人
  • 丰富人生体验
  • 高质量的学习资源、相互交流和寻求帮助的平台
  • 培养技能
  • 获得指引和辅导
  • 积累职业经验和专业知识,丰富简历

组织期望获得商业成功,而通过社区,组织可以:

  • 实现用户的增长
  • 提供更好的支持
  • 提升品牌认可度
  • 产品和技术升级
  • 吸引人才和招聘

这种双赢是开源社区能够持续发展的基础。

未来展望

欢迎大家关注 DevUI !

未来华为云前端开源社区也会将更多内部优秀工程实践开源出来,欢迎朋友们加入我们的社区,一起打造有竞争力的开源产品,营造有温度的开源社区,期待你的加入!

官网:https://devui.design

源码仓库:https://github.com/DevCloudFE

 

点击关注,第一时间了解华为云新鲜技术~

有关DevUI开源经验分享:从0到1开始运营你的开源项目的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  5. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  6. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  7. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  8. ruby-on-rails - Ruby/Rails 中的夏令时开始和结束日期 - 2

    我正在开发一个Rails应用程序,我需要在其中找到给定特定偏移量或时区的夏令时开始和结束日期。我基本上在我的数据库中保存了从用户浏览器接收到的时区偏移量(“+3”,“-5”),我想在它出现时修改它由于夏令时的变化。我知道Time实例变量有dst?和isdst方法,如果存储在它们中的日期在夏令时与否。>Time.new.isdst=>true但是使用它来查找夏令时的开始和结束日期会占用太多资源,而且我还必须为我拥有的每个时区偏移量执行此操作。我想知道更好的方法。 最佳答案 好的,基于你所说的和@dhouty'sanswer:您希望能够

  9. ruby-on-rails - phusion passenger 和 ruby​​ 1.9.1 已经开始工作了吗? - 2

    我有一台生产机器和一台开发机器,都运行ubuntu8.10并且都运行最新的phusionpassenger。当我在osx上的本地开发机器上使用ruby​​1.9.1时,我想知道外面的人是否已经在使用带有ruby​​1.9.1甚至1.9.2的phusionpassenger?如果是这样,请告诉我们您的设置!此外,有没有办法在apache上使用phusionpassenger同时运行ruby​​1.8.7(ree)和1.9.1?感谢您的指点,我在任何地方都找不到任何提示... 最佳答案 是的,从某些2.2.x版本开始就正式支持它,我不记

  10. ruby - Rails 3 - 我可以将开始日期设置为 date_select 方法吗? - 2

    date_select方法只能设置:start_year,但我想设置开始日期(例如3个月前的日期)(但没有这样的选项)。那么,我可以将开始日期设置为date_select方法吗?或者,要制作这样的选择框,我应该使用select_tag和options_for_select吗?或者,有什么解决办法吗?谢谢, 最佳答案 有可能……例如:start_year–设置年份选择的开始年份。默认为Time.now.year-5参见thisresource. 关于ruby-Rails3-我可以将开始日期

随机推荐