4 | | = Links = |
5 | | [wiki:MacPortsDevelopers Back to the MacPorts Developers page][[BR]] |
6 | | [wiki:MacPorts.Framework_Roadmap MacPorts.Framework Roadmap][[BR]] |
7 | | [wiki:MPFramworkGSocWk MacPorts.Framework GSoc Log] |
8 | | |
9 | | |
10 | | = GSoC 2008 - MacPorts Framework = |
11 | | |
12 | | Hello all, I am Armahg (a.k.a. George Armah) and will be working on a Foundation and AppKit MacPorts Framework for GSoC this summer. I am not a port maintainer yet but I am hoping to learn enough from GSoC to become a regular contributer and maintain some ports. [wiki:rhwood Randall Wood] (a.k.a. rhwood) who had already started some of this project has offered to be my mentor. Below is a description of my project: |
13 | | |
14 | | |
15 | | |
16 | | = Project Overview = |
17 | | The MacPorts project is written mostly in Tcl and runs on the Mac OS X platform. |
18 | | Since Objective-C is usually the defacto programming language for applications |
19 | | that leverage the Mac's Cocoa Framework and other OS X technologies, applications |
20 | | that want to leverage MacPorts Tcl based API (of notable interest are |
21 | | GUI front ends for the MacPorts infrastructure) will have to come up with a way |
22 | | to bridge their code with MacPorts' Tcl code. [[BR]] |
23 | | |
24 | | To this end, there is currently |
25 | | an ongoing effort to build a Coca framework around the MacPorts Tcl-based API. |
26 | | (See [wiki:MacPortsFramework]). |
27 | | As the project site mentions : "The goal of the Framework is to provide a responsive |
28 | | and fully-featured API to MacPorts for Cocoa developers with an emphasis on |
29 | | responsiveness for GUI developers." [[BR]] |
30 | | |
31 | | The primary goal of my project will be |
32 | | to build on what has already been done in order to complete the ongoing MacPorts Framework along with the necessary API documentation etc. This will consist of two main deliverables:[[BR]] |
33 | | |
34 | | * A Foundation Framework that implements the MacPorts Tcl API and |
35 | | * An AppKit Framework that uses the Foundation to expose the elements in the Foundation that would be necessary for making a GUI. |
36 | | |
37 | | |
38 | | |
39 | | == MacPorts Foundation (MacPorts.Framework) == |
40 | | This will provide object orientation for manipulating the ports along with |
41 | | the properties of the port (installed, not installed, maintainer). It |
42 | | will have messages that enable the installation, removal, upgrade etc. of |
43 | | a port. |
44 | | |
45 | | |
46 | | == MacPorts Application Kit (MacPorts AppKit.Framework) == |
47 | | This will implement a secure mechanism for using the Foundation |
48 | | to provide information necessary for making a UI. The Foundation allows |
49 | | one to programatically interface with the MacPorts internals, the AppKit |
50 | | will in some sense, provide more granular, formatted information |
51 | | on the status of ports (among others).[[BR]] |
52 | | |
53 | | |
54 | | |
55 | | A more detailed description of the above frameworks has kindly been provided by my mentor at [wiki:MacPorts.Framework_Roadmap MacPorts.Framework Roadmap]. I will also |
56 | | be hoping to do a fair bit of code documentation as my project progresses. |
57 | | I will be updating [wiki:MPFramworkGSocWk MacPorts.Framework GSoc Log] about once per |
58 | | week with notes on my progress over the summer. |
59 | | |
60 | | == A little bit about myself == |
61 | | I am a final year, Ghanaian born, Computer Science and Mathematics double major from Lafayette College. |
62 | | I started learning Computer Science about 3 years ago when I switched majors. |
63 | | I have learnt the following languages from my courses: Java, Python, Standard ML, C, C++, Mathematica |
64 | | and have varying levels of proficiency in them. I have also self-taught myself Objective-C and Cocoa |
65 | | with lots of help from the Open Source community. [[BR]] |
66 | | |
67 | | In addition to my interests in Computer Science, I have a strong interest in Mathematics: Group |
68 | | Theory to be exact. My current final year project involves learning about how theoritical computer |
69 | | science tools can be applied to studying Reflection groups. |
70 | | See [http://cayleycoxeter.blogspot.com/] for more details. |
71 | | |
72 | | |
73 | | |