Cross-platform Perl Bindings for wxWebkit

3 weergaven
Naar het eerste ongelezen bericht

ryan.j...@googlemail.com

ongelezen,
2 apr 2009, 08:20:5102-04-2009
aan tpf-gsoc-students
Hello all,

I've put up my proposal on the GSoC Melange:

http://socghop.appspot.com/student_proposal/show/google/gsoc2009/rjendoubi/t123866407004


Pasted below for people who haven't registered.

Any and all feedback gratefully received :-)

================================

Name: Ryan Jendoubi

Email: ryan.j...@gmail.com

Project Title: Cross-platform Perl Bindings for wxWebkit

Synopsis

I will create cross-platform Perl bindings for the full
functionality of the wxWebkit library, implement the new bindings in
an existing Perl project as a proof-of-concept, and provide all
necessary documentation and tutorial material to allow people to start
using the new components quickly and easily.

Benefits to the Perl/Open Source Community

The Webkit engine is used in all kinds of applications: browsers,
media players, web development apps, RSS readers, kiosk apps, IM &
email clients, and more [1]. Having a cross-platform browser widget to
play with would open up new possibilities to Perl programmers. For
example, grappling with separate browser widgets for different
platforms took up a lot of unnecessary time for dotReader [2], a cross-
platform ebook reader project. With a cross-platform wxWebkit binding,
the time taken would have been greatly reduced. Digsby [3], a Python
app, shows the potential of using wxWebkit and other wxWidgets via a
scripting language. I want to offer those same possibilities to the
Perl community.

Further, wxWebkit itself has benefited greatly from the Digsby
development effort. I hope that new cross-platform bindings for Perl
will also raise interest in the wxWebkit project, so that it may
benefit from testing and code contributions from our community.

Finally, the Perl / Open Source community will benefit from
integrating a new member with enhanced understanding of GUI
development and integrating external libraries with Perl, and the
desire to apply my new knowledge in further projects as well as share
it in an accessible way to give others an in-road to the community and
FLOSS development.


Deliverables

1. Common Perl bindings for wxWebkit proven to work on at least
Linux, Mac and Windows.
2. Documentation and example code.
3. A proof-of-concept, integrating Webkit into dotReader [2]
using the new bindings, with documentation of the process.


Project Details

There exists a Wx-WebKit CPAN module by Dan Sugalski [4] designed
only for the Mac, WebKit being the Mac Apple API for WebCore. The
first phase of my project will involve examining this module and
adapting its concepts to the cross-platform API. I may also examine
for reference the existing wxPython bindings for wxWebKit [5],
although in contrast to the Wx-WebKit CPAN module these are
implemented in SWIG rather than XS.

There are certain WebCore features which have not yet been
implemented in wxWebKit, namely plugins, frames, cookies and printing
support. Aside from these features then I plan to expose the full
functionality of WebCore for Perl programmers.

In addition to standard POD for the new modules, I plan to use my
knowledge gained in the proof-of-concept phase to write some
introductory documentation for applying wxWebKit to an existing
project. I would like to contribute this documentation to the wxPerl
pages [6], to make it more easily accessible to newbies and community
outsiders.


Project Schedule

* Documentation to be made continuously throughout the project

* Now - May 23rd: planning phase
o Familiarize myself with previous work in the area:
WebCore, wxWebKit, the wider wxPerl project, wxPython's WebKit
bindings, Dan Sugalski's Wx-WebKit module.
o Attempt to transfer Mac Wx-WebKit to Linux, use
experience to inform course of action from there.
o Comprehensively map current wxWebKit API to establish
extent of required bindings (existing module not updated since 2006).
o Discussion with mentor and others on how best to
proceed.
o Beginning to work ahead on some coding if possible, as
the first three weeks after the official start date overlap with my
university exam period.
* May 25th - June 18th
o Continue working through up-to-date wxWebKit API specs
established in planning phase.
o Relatively low activity period, but expect to make
decent progress.
* June 18th - July 13th
o Finish initial implementation.
o Make sure POD is complete and accurate.
* July 13th - mid August
o Make code available for review by the community.
o Work new code into dotReader.
o Write a 'How to' for embedding and interacting with
WebKit in a wxPerl application.
o Complete the project!



References and Likely Mentors

I have discussed this proposal with Eric Wilhelm and Kevin
Ollivier, who believed it to be both worthwhile and achievable within
the timescale. Their advice has been exceedingly helpful in guiding my
planning for the project so far.



License

This code will be released under the same license as wxPerl: the
Artistic License and GNU Library License / LGPL.



Bio

I'm an almost-22-year-old final year undergraduate student,
studying Japanese and Politics at the University of Sheffield in South
Yorkshire, UK. I've used PHP and Javascript (and AMOS, believe it or
not...) which taught me the fundamentals of programming. I've also
looked at C++, so I understand some more intricate language features
than are commonly found in scripting languages. This experience will
be critical in helping me get to grips with XS/SWIG for this project.

I only began to look at Perl in-depth in the past six months, but
the character and quality of the Perl community has made a big
impression on me. My long-term goal is to create a set of applications
for academic collaboration which could be a 'mini-BioPerl' for arts
and social science disciplines, and I believe Perl's flexibility and
diversity make it the ideal language in which to invest. In taking on
this GSoC project I am very much thinking in terms of future uses for
the resources I'm going to create. I believe this will give me the
drive to see the project finished to the high standards the community
demands.



Eligibility

Although I graduate during the programme I will still be enrolled
on my degree course on 20 April 2009 [7], and will be able to produce
any necessary paperwork at a maximum of ten days notice.


[1] http://trac.webkit.org/wiki/Applications%20using%20WebKit

[2] http://dotreader.com

[3] http://www.digsby.com

[4] http://search.cpan.org/dist/Wx-WebKit/

[5] http://trac.webkit.org/browser/trunk/WebKit/wx/bindings/python

[6] http://wxperl.sourceforge.net/documentation.html

[7] http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#graduate

Gabor Szabo

ongelezen,
2 apr 2009, 08:44:4002-04-2009
aan tpf-gsoc...@googlegroups.com


Let me, the freerider ask to add integration with Padre to the deliverables ?
We would love to see this happen.

Gabor

ryan.j...@googlemail.com

ongelezen,
2 apr 2009, 08:57:3102-04-2009
aan tpf-gsoc-students
Hi Gabor,

I'd really like to do that - I think a great IDE is critical to
getting more people excited about using Perl. I'm a bit loathe to add
it to the 'official' deliverables at this point since I'm already
going into a lot of unfamiliar territory with this project, and I
don't want to say I'll do it then not manage to get it done, you know?
But I'd certainly be interested in taking a look at it. What kind of
integration were you thinking of? To add it as a component for Padre
users to slot in, or as part of how the IDE itself functions?

-- Ryan

On Apr 2, 1:44 pm, Gabor Szabo <szab...@gmail.com> wrote:
> On Thu, Apr 2, 2009 at 3:20 PM, ryan.jendo...@googlemail.com
>
>
>
> <ryan.jendo...@googlemail.com> wrote:
>
> > Hello all,
>
> > I've put up my proposal on the GSoC Melange:
>
> >http://socghop.appspot.com/student_proposal/show/google/gsoc2009/rjen...
>
> > Pasted below for people who haven't registered.
>
> > Any and all feedback gratefully received :-)
>
> > ================================
>
> > Name: Ryan Jendoubi
>
> > Email: ryan.jendo...@gmail.com
> > [7]http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs...

Gabor Szabo

ongelezen,
2 apr 2009, 13:38:5802-04-2009
aan tpf-gsoc...@googlegroups.com
We are using a very simple HTML viewer as our documentation (pod) viewer.
One of the things we could hopefully do with wxWebKit is to provide a better
help viewer.

That's what I can think of right now.

There are several people on the Padre team who would help you in the process.
Maybe you can mention it as an optional deliverable or just as one of
the use cases
of the integration.

regards
Gabor

Ryan

ongelezen,
3 apr 2009, 03:01:0803-04-2009
aan tpf-gsoc-students
Gabor,

I've made that addition :-)

I've had a look at the Padre doc viewer - functional, but basic, as
you say. It would be good to hear what exactly you'd want from a
better version using WebKit.

It's only just occurred to me, but I don't know if there'd be a
performance overhead using it instead of the basic viewer you've got
now. We can cross that bridge when we come to it I guess :)

-- Ryan


On Apr 2, 6:38 pm, Gabor Szabo <szab...@gmail.com> wrote:
> We are using a very simple HTML viewer as our documentation (pod) viewer.
> One of the things we could hopefully do with wxWebKit is to provide a better
> help viewer.
>
> That's what I can think of right now.
>
> There are several people on the Padre team who would help you in the process.
> Maybe you can mention it as an optional deliverable or just as one of
> the use cases
> of the integration.
>
> regards
>    Gabor
>
> On Thu, Apr 2, 2009 at 3:57 PM, ryan.jendo...@googlemail.com

Gabor Szabo

ongelezen,
3 apr 2009, 03:29:1403-04-2009
aan tpf-gsoc...@googlegroups.com
Hi,

On Fri, Apr 3, 2009 at 10:01 AM, Ryan <ryan.j...@googlemail.com> wrote:
>
> Gabor,
>
> I've made that addition :-)

thanks!

>
> I've had a look at the Padre doc viewer - functional, but basic, as
> you say. It would be good to hear what exactly you'd want from a
> better version using WebKit.

Oh I don't know :-)
I think one of the things we would like to be able to do is to handle the
clicks dynamically but without a web server.
Bot for perl 5 and perl 6 pods and if others want then for other
documentation formats as well.

It might be also useful to have the html editing capabilities of the wxWebKit,
after all Padre has to support at least those technologies that some Perl
developers use regularly. e.g. the web technologies, SQL, yaml, diff etc.


>
> It's only just occurred to me, but I don't know if there'd be a
> performance overhead using it instead of the basic viewer you've got
> now. We can cross that bridge when we come to it I guess :)

I am not worried about that.

Yet.

Gabor
Allen beantwoorden
Auteur beantwoorden
Doorsturen
0 nieuwe berichten