基本要求
第一,你要有這個開源產品的所用語言的語言基礎。
第二,你要對這個開源產品的功能和使用要有比較熟悉,因為你熟悉了,你才知道一個需求下來,你要改什麼,什麼是系統自帶的,大概要怎么改。
第三,你要熟悉這個開源產品的數據結構,代碼結構,系統的框架結構,核心是哪裡,附屬功能是在哪裡。簡單點說,就是資料庫,代碼邏輯,檔案目錄的熟悉。如果是用接口式的二次開發,則需要你對這個接口比較熟悉,一般來說會有相應的文檔。
第四,根據你的需求,然後利用開源產品的核心,進行系統的擴展和修改,以達到你的需求。
第五,對其提供的SDK中的API函式有一定了解,以利於你對SDK中個函式的使用更加靈活方便。
舉例
PRO/ENGINEER二次開發
PRO/ENGINEER在提供強大的設計、分析、製造功能的同時,也為用戶提供了多種二次開發工具。常用的二次開發工具有:族表(Family Table)、用戶定義特徵(UDF)、Pro/Program、J-link、Pro/toolkit等。
1)族表(Family Table) 通過族表可以方便的管理具有相同或相近結構的零件,特別適用於標準零件的管理。族表通過建立通用零件為父零件,然後在其基礎上對各參數加以控制生成派生零件。整個族表通過電子表格來管理,所以又被稱為表格驅動。
2)用戶定義特徵(UDF) 用戶定義特徵是將若干個系統特徵融合為一個自定義特徵,使用時作為一個整體出現。系統將UDF特徵以gph檔案保存。UDF適用特定產品中的特定結構,有利於設計者根據產品特徵快速生成幾何模型。
3)Pro/ENGINEER軟體對於每個模型都有一個主要設計步驟和參數列表―Pro/Program。它是由類似BASIC的高級語言構成的,用戶可以根據設計需要來編輯該模型的Program,使其作為一個程式來工作。通過運行該程式,系統通過人機互動的方法來控制系統參數、特徵出現與否和特徵的具體尺寸等。
4)J-link是PRO/ENGINEER中自帶的基於JAVA語言的二次開發工具。用戶通過JAVA編程實現在軟體PRO/ENGINEER中添加功能。
5)Pro/Toolkit同J-link一樣也是Pro/E自帶的二次開發工具,在Pro/Toolkit中,PTC向用戶提供了大型的C語言函式館,函式採用面向對象的風格,通過調用這些底層函式,用戶能方便而又安全地訪問Pro/ENGINEER的資料庫及內部應用程式,進行二次開發,擴展一些特定功能。
6)基於VB API的二次開發過程,Pro/E Wildfire 4.0開始可以採用Visual Basic API,通過 Visual Basic NET應用程式和應用程式 (如 Microsoft Word、Excel 或 Access) 中的 Visual Basic 宏來進行二次開發。
7)pro/web.link 這種方法使用的語言是javascript,以網頁的形式來訪問proe 模型
一般情況下,採用比較多的是Pro/Toolkit,進行二次開發。
Pro/Toolkit下的開發的程式有兩種模式:同步模式(Synchronous Mode)和異步模式(Asynchronous Mode)。同步模式下,Pro/E根據註冊檔案中的信息啟動應用程式,Pro/Toolkit應用程式和Pro/E產生各自的進程,程式的控制權在兩個進程之間切換。該應用程式不能夠獨立於Pro/E而運行。在異步模式下,Pro/Toolkit應用程式和Pro/E能夠進行各自的操作,在通信方面,異步模式使用遠程調用(Remote Procedure Calls,RPC)方式,程式(含有獨立主函式)能獨立於Pro/E啟動。由於異步模式採用遠程調用,程式運行速度相比同步模式慢很多,整合性也不好,所以一般基於Pro/E的Toolkit開發採用同步模式。在同步模式下又有兩種開發方式:動態程式庫(DLL Mode)和多進程(Multiprocess 或Spawned Mode)。前者為的動態連線庫檔案,無自身主程式函式,直接連線於Pro/E進行程式調用。後者為.exe檔案,有獨立的主程式和Pro/E進行相連線。一般為了調試方便,開發程式時可以採用多進程模式,在程式完成時,採用動態連線庫提高程式運行效率
ecshop二次開發
ECShop是一款B2C獨立網店系統,適合企業及個人快速構建個性化網上商店。系統是基於PHP語言及MYSQL資料庫構架開發的跨平台開源程式。目前最新版本為2.7.3。
系統在實際使用過程中用戶會有各種不同的需求,往往需要進行二次開發,針對這些需求 php服務中心專門建立ecshop二次開發部門,來解決用戶以上問題,同時 php服務中心齊永東齊老師總結二次開發經驗錄製了大量ecshop二次開發視頻並提供免費下載。