[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSoC] Make WebKit run on top of GNUstep
From: |
David Chisnall |
Subject: |
Re: [GSoC] Make WebKit run on top of GNUstep |
Date: |
Fri, 31 Mar 2017 14:53:51 +0100 |
Hi Daniel,
I don’t have time to mentor this year, unfortunately, but it’s great to see
someone interested in this.
In an ideal world, the way of doing the port would be to very simply implement
all of the missing functionality in GNUstep, but that’s likely to be a huge
amount of work. That said, WebCore has a number of porting layers for
platforms that don’t provide all of these frameworks and many of them work by
providing the required functionality (or falling back to some other library).
I can see three possible ways of managing a port, in increasing order of
difficulty:
- Implement the WebView classes wrapping something like Nuanti Meta or the
Chromium Embedded Framework. This would use non-GNUstep widgets, but still
basically work.
- Implement a new port that would use GNUstep widgets for buttons, text views,
and other form elements, but use non-GNUstep everything else (text layout with
whatever the GTK / Qt ports use and so on)
- Implement all of the missing Cocoa APIs that WebKit needs and do a simple
recompile.
The second is these is probably the most useful, though it’s probably out of
scope for a single GSoC project. It might be feasible to put together
something to do this incrementally, for example using the portable widgets that
Chrome added and incrementally replace them with GNUstep ones. The first has
the biggest short-term payoff, but dramatically limits the things that you can
do with the resulting WebView.
One smaller project that might be interesting and feasible within the GSoC
would be getting JavaScriptCore working with GNUstep. It now has a very mature
Objective-C bridge and this makes it possible to write Cocoa applications in
JavaScript (as well as using JavaScript for scripting as a replacement for
AppleScript).
David
> On 30 Mar 2017, at 23:54, Daniel Ferreira (theiostream) <bnmvco@gmail.com>
> wrote:
>
> Hi there,
>
> My name is Daniel Ferreira and I'd like to spend a Google Summer of
> Code implementing the proposal to "port WebKit to GNUstep" (or, most
> likely, a subset of it) as announced on the GNUstep ideas website, and
> try to get the GNUstep browser issue closer to a solution. However,
> aside from this thread
>
> http://lists.gnu.org/archive/html/discuss-gnustep/2007-03/msg00314.html
>
> and this more recent one:
>
> https://lists.gnu.org/archive/html/discuss-gnustep/2015-06/msg00108.html
>
> there is almost zero detail implementation-wise of how this goal would
> be attained, and only architectural discussions about how to approach
> the web browser problem. Despite being a little late to the party, I'd
> like some help to be able to craft a decent proposal (or at least
> figure out how to approach the problem).
>
> I spent the last two days setting up a build environment for both
> GNUstep and WebKit, and I hoped I would be able to grasp the dimension
> of the effort by trying to build it with OSX as a target and see how
> many linking errors I got when trying to build it on top of the
> GNUstep libraries. However, it complains about the lack of frameworks
> that I don't believe are even in the GNUstep roadmap (Accelerate,
> AudioToolbox, IOKit), so I think I'm following a wrong approach here.
>
> That said, I'd really appreciate an (updated) explanation of what are
> the current obstacles to getting that port done, or what can I
> do/build to get a better understanding of it :)
>
> Also: despite the extremely short schedule, I'm totally up to writing
> a small patch to GNUstep or something if you'd like some sort of proof
> that I can go around the project.
>
> About me: I'm a Brazilian student and I'll start college at Stanford
> University this fall. I've done system modifications in the iOS
> jailbreaking community ("tweaks") and some apps, and during that time
> I could get some pretty decent experience with Core* Apple APIs
> (although I really look forward to learn more about their internals
> and how they could be implemented) as well as Objective-C. I've also
> written a bunch of C/C++ code for my employer (a payment processing
> company) and some on github.com/theiostream. Again, I'm really
> interesting on how these internals are (or can be) implemented, and
> that's why I got so interested in this project.
>
> (I am sending this e-mail to both the summer-of-code and the
> discuss-gnustep lists separately. I'm sorry if anyone gets this twice,
> but I'm really unsure regarding in what channel this will reach
> someone.)
>
> Thanks, and hoping I can get some answers in time,
> -- Daniel.
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep