1.å¦ä½åç¼è¯ä¸ä¸ªMOD
2.sourceforge是如何一步一步被github超越的?
å¦ä½åç¼è¯ä¸ä¸ªMOD
第ä¸é¨å ä¸è½½forgeæºç +建ç«MODå¼åç¯å¢ãï¼1ï¼ä¸è½½forgeæºç
注æä¸è½½srcé¾æ¥ççæ¬ï¼ä¸è¦æéãæ¯å¦ï¼forge-1.7.-..2.-src.zipï¼ä»¥src.zipç»å°¾ï¼
注æå°æå¾å¤ä¸è½½å°åï¼æ¯ä¸è¡æ¯ä¸ä¸ªçæ¬ï¼éæ©éåèªå·±ççæ¬ã
å³è¾¹Downloadsåæå 个é¾æ¥ï¼å ¶å«ä¹å¦ä¸ï¼
ï¼a)Changelogââæ´æ¹æ¥å¿ã
(b)Installerââjaræ ¼å¼çå®è£ å ï¼ä½¿ç¨ä¸ææå¹³å°(Win/Linux/Macï¼
(c)installer-winââä¸å±äºWindowsçå®è£ å ã
(d)javadocââèªå¨çæçjavaææ¡£ã
(e)srcâforgeæºä»£ç ã
(f)universalââå纯çjaråºï¼éå®è£ å ã
(g)userdevââé¢åå¼æ¾è ã
(2)ä¸è½½ä¹åå å缩å°æ个æ件夹ã
åªçä¸äºä¸ªä¸è¥¿ï¼gradleåsrcæ件夹ï¼build.gradleï¼gradlewågradlew.batã
å ¶å®çä¸è¥¿æ²¡æç¨ï¼å¯ä»¥å é¤ã
æå¼ Windowså½ä»¤è¡ï¼cdå®ä½å°åæçæ件ã
è¿è¡ï¼gradlew.bat setupDecompWorkspace --refresh-dependencies
çå¾ forgeåç¼è¯å®æã
第äºé¨åï¼BONè¿è¡åæ··æ·ã
BONå ¨åbearded-octo-nemesisï¼æ¯ç±immibiså¼æ¾çä¸ä¸ªMODåæ··æ·å·¥å ·ãï¼immibiså¯æ¯MODå±å¤§åé¼é¼ç人ï¼æ¯å¦redlogicï¼Liquid XPï¼Advanced Machinesçé½æ¯é常好ç¨ç模ç»ï¼ã
æ°å»ºä¸ä¸ªBONæ件夹ã
ï¼1ï¼ä¸è½½userdevçæ¬çforgeãè¿æ¯åæä¸é¢é£ä¸ªå°åï¼åªä¸è¿è¿æ¬¡ä¸è½½userdevçæ¬ã
æä¸è½½å°çæ件æ¾å°BONæ件夹ã
ï¼2ï¼æ¾å°forgeåç¼è¯ä¹åçæ件ã
è¿ä¸ªæ件å¨C:\Users\{ username}ç®å½ä¸ç
\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.-{ forgeversion}
æ¯å¦å±ä»¬è¿ä¸ªä¾åå°±æ¯ï¼1.7.-..2.ãæè¿ä¸ªæ件夹å¤å¶ä¸ä»½å°BONæ件夹ã
ï¼3ï¼ä¸è½½BON
ä¸è½½å°ä¸ä¸ªBON.jaræ件ï¼æ¾å°ä¸é¢çæ件夹å ã
ï¼4ï¼è¿è¡ã
åå»BON.jarä¹åè¿è¡ã
Forge userdev.jarï¼éæ©ï¼1ï¼ä¸è½½çæ件ã
FG cache folderï¼éæ©ï¼1ï¼å¤å¶åºæ¥çæ件夹ã
ç¶åå¨è¾å ¥æ件ä½ç½®éæ©ä½ æ³åæ··æ·ç代ç ï¼åéæ©è¦ä¿æçè¾åºã
æä½(operation)注æéæ©ï¼åæ··æ·æ¨¡ç»ã
ç¹å»Goæé®ï¼çå¾ å®æã
åæ··æ·ä¹åç代ç ä¸è¬ä»¥deobfç»å°¾ã
æ¯å¦StevesFactoryManagerA.jarï¼åæ··æ·ä¹åå°±æ¯StevesFactoryManagerA.deobf.jarã
è¿æ¶åå°±å¯ä»¥ç¨jd-guiæ éç¢çæ¥ç代ç äºã
第ä¸æ¥ åç¼è¯ææºä»£ç
å¦æè§å¾ç¨jd-guiæ¥çä¸æ¹ä¾¿çè¯ï¼å¯ä»¥èèç¨fernflowerè¿è¡åç¼è¯ã
fernfloweræ¯MCPå®æ¹ç¨æ¥åç¼è¯minecraft代ç çç¥å¨ï¼è½ç¶æ²¡æjd-guiæä½ç®ä¾¿ï¼ä½æ¯å®åç¼è¯ä»£ç çè´¨éé常é«ãåæ¯å®æ¹æé minecraft使ç¨ï¼æ¯ç¨æ¥åç¼è¯ä»£ç çä¸äºä¹éã
å¦ä½è·å¾fernflowerï¼
fernflowerçå®æ¹ä»£ç æ± ï¼ç¶èéè¦ç¼è¯ä¸æ¹ä¾¿ä½¿ç¨ã
è¿éæä¾å¦å¤ä¸¤ä¸ªæ¹æ³ï¼
ï¼1ï¼ä¼´éMCPåå¸ççæ¬ã
å»mcpå®æ¹ç½åä¸è½½ï¼ç®åéç¨äº1.7.çæ¯9.çã
解å缩ä¹åï¼runtime/binç®å½ä¸é¢ï¼å¤å¶åºæ¥ã
ï¼2ï¼forgeæä¾ççæ¬
å»ä¸é¢æå°ç.gradle/caches/minecraftç®å½ä¸ï¼æä¸ä¸ªfernflower-fixed.jaræ件ã
ç®åå°ä¸ç¥éï¼mcpåforgeçæ¬çæå¥å·®å«ã
å¤å¶å°ä¸ä¸ªä½ç½®ä¹åï¼æå¼å½ä»¤è¡
java -jar fernflower.jar [è¦åç¼è¯çå ] [ä¿åä½ç½®]
åç¼è¯ä¹åç代ç ï¼å°±å¯ä»¥ç¨è®°äºæ¬ç´æ¥æ¥çã
sourceforge是如何一步一步被github超越的?
商业模式的差异是关键。
SourceForge采用免费代码托管服务,通过广告获得收入。这种模式导致了用户体验的前端源码编程教程牺牲,用户质量下降,盈利模式陷入恶性循环。小皮面板网站源码
相比之下,GitHub则利用免费代码托管服务吸引了高质量的种子用户,并以此为基础构建了社交网络,为付费用户提供个性化服务。这种模式避免了用户体验的牺牲,也减少了对广告的依赖。
尽管Git的discuz注册机源码优秀在一定程度上促成了GitHub的成功,但其核心策略在于商业模式的创新。GitHub通过免费吸引用户,通过个性化服务留住高质量用户,悬赏猫全新ui源码从而实现了可持续发展。
源码托管服务的市场竞争激烈,商业模式的java积分商城后端源码创新至关重要。SourceForge未能在用户体验与盈利模式之间找到平衡,最终被GitHub超越。
总之,商业模式的胜利决定了SourceForge与GitHub之间的差距,而Git本身的优秀只是辅助因素。商业模式创新与用户体验的平衡,是源码托管服务成功的关键。