Re: ANN: Progress on libs-webkitcef
Gregory Casamento <[email protected]> Sat, 13 Jun 2026 05:19:05 -0400
| Newsgroups | gmane.comp.lib.gnustep.general |
|---|---|
| Message-ID | <CA+BLX-zn_EiWHDRNM5oxXDecY2k1QxTaYNVKNFid4046PXa+hg@mail.gmail.com> |
--000000000000517ab606541f177b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable GNUmakefile.preamble:29: CEF headers not found at /include. Using stubs for compilation. GNUmakefile.preamble:56: CEF libraries not found at /Release. WebView compiles without CEF runtime. GNUmakefile.preamble:57: Apps linking against WebKit need CEF libraries available via LD_LIBRARY_PATH or /usr/local/lib GNUmakefile.preamble:29: CEF headers not found at /include. Using stubs for compilation. GNUmakefile.preamble:56: CEF libraries not found at /Release. WebView compiles without CEF runtime. GNUmakefile.preamble:57: Apps linking against WebKit need CEF libraries available via LD_LIBRARY_PATH or /usr/local/lib This bit indicates that you didn't build CEF first. This appears to be a documentation issue on my part. I am doing a meeting today about GNUstep it was posted to the mailing list. You're free to come if you like. I am going to show it there. I am going to revise how it's built afterwards to make sure people get it right. I will likely write a script to automate the entire process. Yours, GC On Sat, Jun 13, 2026 at 4:55=E2=80=AFAM Gregory Casamento <greg.casamento@g= mail.com> wrote: > Thank you for the feedback. I will give it a shot to see if I can > reproduce it. > > On Sat, Jun 13, 2026 at 4:23=E2=80=AFAM Patrick CARDONA <patrick.cardona@= ik.me> > wrote: > >> Hi Greg, >> >> I joined my log from first attempt. >> >> <libs-webkitcef.log> >> >> >> On 2026-06-12 15:59:14 +0200 Gregory Casamento <[email protected]= > >> wrote: >> >> > Patrick, >> > >> > It isn=E2=80=99t specific for any given architecure. I haven=E2=80= =99t had an >> > opportunity to test on Raspberry Pi. It SHOULD work. The best I can >> say is >> > to try to build it and let me know. >> > >> > The build instructions should be in the repo. You need to build CEF >> first >> > using the provided scripts. >> > >> > File any bugs you find and I will work with you to get it working. :) >> > Yours, GC >> > >> >> On Jun 12, 2026, at 04:53, Patrick CARDONA <[email protected]> >> wrote: >> > >> >> Hi Joseph, >> >> Hi Greg, >> > >> >> Is libs-webkitcef available for arm64? >> >> I remember I was not able to build it on my pi500. >> > >> >> What about Surf, another webkit implementation by suckless.org >> >> <http://suckless.org/>? >> >> It could be also embeded. >> >> Look at: >> >> https://surf.suckless.org <https://surf.suckless.org/> >> > >> >> P.S.: I had to stop my work on agnostep due to health trouble. Sorry >> to be >> >> less present on the list for the future months. >> > >> >> Cheers, >> >> Patrick >> > >> >> On 2026-05-29 17:13:08 +0200 Joseph Maloney <[email protected] >> >> <mailto:[email protected]>> wrote: >> > >> >>> Got it. I've been keeping multiple ideas in play anyway but I still >> wanted >> >>> to look at this over the weekend. I had a fork of webkit started, >> where I >> >>> just need to try to disable more features to see if it can build in = a >> >>> reasonable amount of time. I might revisit ladybird at some point in >> the >> >>> future, but I'm thinking Basilisk's rendering engine could be anothe= r >> >>> possibility. Summer hours will probably prevent me from doing much, >> with >> >>> all the things coming up, family things, but I'd expect a big push >> near >> >>> the fall and winter for something. >> > >> >>> Joseph Maloney >> > >> >>> Sent with [Proton Mail](https://proton.me/mail/home) secure email. >> > >> >>> On Thursday, May 28th, 2026 at 9:45 PM, Gregory Casamento >> >>> <[email protected] <mailto:[email protected]>> wrote: >> > >> >>>> Don't let this halt anything you're doing on your end. What I've >> done is >> >>>> experimental. I'm just sure if it's going to be as capable as what >> you're >> >>>> doing now. It's not a native implementation it is literally a facad= e >> in >> >>>> front of CEF, so there may be some features that can't be >> implemented... >> >>>> for instance some deep JavaScript integration might not be possible= . >> > >> >>>> Yours, GC >> > >> >>>> On Tue, May 26, 2026 at 9:11=E2=80=AFAM Joseph Maloney <jpm820@prot= on.me >> >>>> <mailto:[email protected]>> wrote: >> > >> >>>>> Very cool thanks for sharing. Looking forward to try the other app= s >> as >> >>>>> well. >> > >> >>>>> Joseph Maloney >> > >> >>>>> Sent with [Proton Mail](https://proton.me/mail/home) secure email. >> > >> >>>>> On Tuesday, May 26th, 2026 at 3:26 AM, Gregory Casamento >> >>>>> <[email protected] <mailto:[email protected]>> wrote= : >> > >> >>>>>> I added a navigation textfield (showing the URL) and corrected >> resize >> >>>>>> issues. It shows the GNUstep website perfectly. :) >> > >> >>>>>> On Mon, May 25, 2026 at 10:21=E2=80=AFPM Gregory Casamento >> >>>>>> <[email protected] <mailto:[email protected]>> >> wrote: >> > >> >>>>>>> Correction... the url is >> > >> >>>>>>> https://github.com/gnustep/libs-webkitcef >> > >> >>>>>>> On Mon, May 25, 2026 at 10:19=E2=80=AFPM Gregory Casamento >> >>>>>>> <[email protected] <mailto:[email protected]>> >> wrote: >> > >> >>>>>>>> Hey guys, >> > >> >>>>>>>> The URL for this is at https://github.com/gcasa/libs-webkitcef. >> .. >> > >> >>>>>>>> [webpage_demo.png] >> > >> >>>>>>>> As you can see, it is now loading a webpage from IETF showing a= n >> RFC. >> >>>>>>>> This is backed by CEF (Chromium Embedded Framework), which make= s >> it a >> >>>>>>>> complete web browser. I used Codex (AI assistant) to find some >> of the >> >>>>>>>> issues that I was having with getting this up and running. I >> made >> >>>>>>>> several missteps in my initial setup, which the AI identified. >> >>>>>>>> This implements a minimal set of the webview/webkit >> functionality to >> >>>>>>>> allow applications to link and simply use a webview as exists o= n >> >>>>>>>> Cocoa. >> >>>>>>>> I am working to make sure this can be linked properly as a >> framework, >> >>>>>>>> independently to maximize reuse. >> >>>>>>>> Yours, GC-- >> > >> >>>>>>>> Gregory Casamento >> >>>>>>>> GNUstep Lead Developer / Black Lotus, Principal Consultant >> >>>>>>>> http://www.gnustep.org - http://heronsperch.blogspot.com >> > >> >>>>>>>> https://www.openhub.net/languages/objective_c >> > >> >>>>>>> -- >> > >> >>>>>>> Gregory Casamento >> >>>>>>> GNUstep Lead Developer / Black Lotus, Principal Consultant >> >>>>>>> http://www.gnustep.org - http://heronsperch.blogspot.com >> > >> >>>>>>> https://www.openhub.net/languages/objective_c >> > >> >>>>>> -- >> > >> >>>>>> Gregory Casamento >> >>>>>> GNUstep Lead Developer / Black Lotus, Principal Consultant >> >>>>>> http://www.gnustep.org - http://heronsperch.blogspot.com >> > >> >>>>>> https://www.openhub.net/languages/objective_c >> > >> >>>> -- >> > >> >>>> Gregory Casamento >> >>>> GNUstep Lead Developer / Black Lotus, Principal Consultant >> >>>> http://www.gnustep.org - http://heronsperch.blogspot.com >> > >> >>>> https://www.openhub.net/languages/objective_c >> > >> > >> >> -- >> >> Patrick Cardona - Pi500 - GNU/Linux aarch64 (Debian 13.4) Xorg >> (1:7.7+24) - >> >> libcairo2 (1.18.4-1+rpt1 arm64) - Window Maker (0.96.0-4) >> >> GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - Classic - MUA: >> GNUMail >> >> (1.4.0 - rev.947) >> > >> > >> >> Cheers, >> Patrick >> >> -- >> Patrick Cardona - Pi500 - GNU/Linux aarch64 (Debian 13.5) >> Xorg (1:7.7+24) - libcairo2 (1.18.4-1+rpt1 arm64) - Window Maker >> (0.96.0-4) >> GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - MUA: GNUMail >> > > > -- > Gregory Casamento > GNUstep Lead Developer / Black Lotus, Principal Consultant > http://www.gnustep.org - http://heronsperch.blogspot.com > https://www.openhub.net/languages/objective_c > --=20 Gregory Casamento GNUstep Lead Developer / Black Lotus, Principal Consultant http://www.gnustep.org - http://heronsperch.blogspot.com https://www.openhub.net/languages/objective_c --000000000000517ab606541f177b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac= e,monospace">GNUmakefile.preamble:29: CEF headers not found at /include. Us= ing stubs for compilation.<br>GNUmakefile.preamble:56: CEF libraries not fo= und at /Release. WebView compiles without CEF runtime.<br>GNUmakefile.pream= ble:57: Apps linking against WebKit need CEF libraries available via LD_LIB= RARY_PATH or /usr/local/lib<br>GNUmakefile.preamble:29: CEF headers not fou= nd at /include. Using stubs for compilation.<br>GNUmakefile.preamble:56: CE= F libraries not found at /Release. WebView compiles without CEF runtime.<br= >GNUmakefile.preamble:57: Apps linking against WebKit need CEF libraries av= ailable via LD_LIBRARY_PATH or /usr/local/lib</div><div class=3D"gmail_defa= ult" style=3D"font-family:monospace,monospace"><br></div><div class=3D"gmai= l_default" style=3D"font-family:monospace,monospace">This bit indicates tha= t you didn't build CEF first.=C2=A0 =C2=A0This appears to be a document= ation issue on my part.=C2=A0 I am doing a meeting today about <span aria-i= nvalid=3D"grammar" class=3D"Lm ng" style=3D"border-style:none;background:no= ne">GNUstep it was</span> posted to the mailing list.=C2=A0 You're free= to come if you like.=C2=A0 I am going to show it there.=C2=A0 =C2=A0I am g= oing to revise how it's built afterwards to make sure people get it rig= ht.=C2=A0 I will likely write a script to automate the entire process.</div= ><div class=3D"gmail_default" style=3D"font-family:monospace,monospace"><br= ></div><div class=3D"gmail_default" style=3D"font-family:monospace,monospac= e">Yours, GC</div></div><br><div class=3D"gmail_quote gmail_quote_container= "><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jun 13, 2026 at 4:55=E2=80= =AFAM Gregory Casamento <<a href=3D"mailto:[email protected]">gre= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_qu= ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20= 4);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D= "font-family:monospace,monospace">Thank you for the feedback.=C2=A0 I will = give it a shot to see if I can reproduce it.</div></div><br><div class=3D"g= mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jun 13, 2026 at 4= :23=E2=80=AFAM Patrick CARDONA <<a href=3D"mailto:[email protected]"= target=3D"_blank">[email protected]</a>> wrote:<br></div><blockquot= e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s= olid rgb(204,204,204);padding-left:1ex">Hi Greg,<br> <br> I joined my log from first attempt.<br> <br> <libs-webkitcef.log><br> <br> <br> On 2026-06-12 15:59:14 +0200 Gregory Casamento <<a href=3D"mailto:greg.c= [email protected]" target=3D"_blank">[email protected]</a>> wrot= e:<br> <br> > Patrick,<br> > <br> > It isn=E2=80=99t specific for any given architecure.=C2=A0 =C2=A0I hav= en=E2=80=99t had an <br> > opportunity to test on Raspberry Pi.=C2=A0 It SHOULD work. The best I = can say is <br> > to try to build it and let me know.<br> > <br> > The build instructions should be in the repo.=C2=A0 You need to build = CEF first <br> > using the provided scripts.<br> > <br> > File any bugs you find and I will work with you to get it working. :)<= br> > Yours, GC<br> > <br> >> On Jun 12, 2026, at 04:53, Patrick CARDONA <<a href=3D"mailto:p= [email protected]" target=3D"_blank">[email protected]</a>> wrote= :<br> > <br> >> Hi Joseph,<br> >> Hi Greg,<br> > <br> >> Is libs-webkitcef available for arm64?<br> >> I remember I was not able to build it on my pi500.<br> > <br> >> What about Surf, another webkit implementation by <a href=3D"http:= //suckless.org" rel=3D"noreferrer" target=3D"_blank">suckless.org</a> <br> >> <<a href=3D"http://suckless.org/" rel=3D"noreferrer" target=3D"= _blank">http://suckless.org/</a>>?<br> >> It could be also embeded.<br> >> Look at:<br> >> <a href=3D"https://surf.suckless.org" rel=3D"noreferrer" target=3D= "_blank">https://surf.suckless.org</a> <<a href=3D"https://surf.suckless= .org/" rel=3D"noreferrer" target=3D"_blank">https://surf.suckless.org/</a>&= gt;<br> > <br> >> P.S.: I had to stop my work on agnostep due to health trouble. Sor= ry to be <br> >> less present on the list for the future months.<br> > <br> >> Cheers,<br> >> Patrick<br> > <br> >> On 2026-05-29 17:13:08 +0200 Joseph Maloney <<a href=3D"mailto:= [email protected]" target=3D"_blank">[email protected]</a> <br> >> <mailto:<a href=3D"mailto:[email protected]" target=3D"_blank">j= [email protected]</a>>> wrote:<br> > <br> >>> Got it. I've been keeping multiple ideas in play anyway bu= t I still wanted <br> >>> to look at this over the weekend. I had a fork of webkit start= ed, where I <br> >>> just need to try to disable more features to see if it can bui= ld in a <br> >>> reasonable amount of time. I might revisit ladybird at some po= int in the <br> >>> future, but I'm thinking Basilisk's rendering engine c= ould be another <br> >>> possibility. Summer hours will probably prevent me from doing = much, with <br> >>> all the things coming up, family things, but I'd expect a = big push near <br> >>> the fall and winter for something.<br> > <br> >>> Joseph Maloney<br> > <br> >>> Sent with [Proton Mail](<a href=3D"https://proton.me/mail/home= " rel=3D"noreferrer" target=3D"_blank">https://proton.me/mail/home</a>) sec= ure email.<br> > <br> >>> On Thursday, May 28th, 2026 at 9:45 PM, Gregory Casamento <br> >>> <<a href=3D"mailto:[email protected]" target=3D"_bla= nk">[email protected]</a> <mailto:<a href=3D"mailto:greg.casament= [email protected]" target=3D"_blank">[email protected]</a>>> wrote:<= br> > <br> >>>> Don't let this halt anything you're doing on your = end. What I've done is <br> >>>> experimental. I'm just sure if it's going to be as= capable as what you're <br> >>>> doing now. It's not a native implementation it is lite= rally a facade in <br> >>>> front of CEF, so there may be some features that can't= be implemented... <br> >>>> for instance some deep JavaScript integration might not be= possible.<br> > <br> >>>> Yours, GC<br> > <br> >>>> On Tue, May 26, 2026 at 9:11=E2=80=AFAM Joseph Maloney <= ;<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>= <br> >>>> <mailto:<a href=3D"mailto:[email protected]" target=3D"_= blank">[email protected]</a>>> wrote:<br> > <br> >>>>> Very cool thanks for sharing. Looking forward to try t= he other apps as <br> >>>>> well.<br> > <br> >>>>> Joseph Maloney<br> > <br> >>>>> Sent with [Proton Mail](<a href=3D"https://proton.me/m= ail/home" rel=3D"noreferrer" target=3D"_blank">https://proton.me/mail/home<= /a>) secure email.<br> > <br> >>>>> On Tuesday, May 26th, 2026 at 3:26 AM, Gregory Casamen= to <br> >>>>> <<a href=3D"mailto:[email protected]" target= =3D"_blank">[email protected]</a> <mailto:<a href=3D"mailto:greg.= [email protected]" target=3D"_blank">[email protected]</a>>>= wrote:<br> > <br> >>>>>> I added a navigation textfield (showing the URL) a= nd corrected resize <br> >>>>>> issues. It shows the GNUstep website perfectly. :)= <br> > <br> >>>>>> On Mon, May 25, 2026 at 10:21=E2=80=AFPM Gregory C= asamento <br> >>>>>> <<a href=3D"mailto:[email protected]" ta= rget=3D"_blank">[email protected]</a> <mailto:<a href=3D"mailto:g= [email protected]" target=3D"_blank">[email protected]</a>>= > wrote:<br> > <br> >>>>>>> Correction... the url is<br> > <br> >>>>>>> <a href=3D"https://github.com/gnustep/libs-web= kitcef" rel=3D"noreferrer" target=3D"_blank">https://github.com/gnustep/lib= s-webkitcef</a><br> > <br> >>>>>>> On Mon, May 25, 2026 at 10:19=E2=80=AFPM Grego= ry Casamento <br> >>>>>>> <<a href=3D"mailto:[email protected]= " target=3D"_blank">[email protected]</a> <mailto:<a href=3D"mail= to:[email protected]" target=3D"_blank">[email protected]</a>= >> wrote:<br> > <br> >>>>>>>> Hey guys,<br> > <br> >>>>>>>> The URL for this is at <a href=3D"https://= github.com/gcasa/libs-webkitcef." rel=3D"noreferrer" target=3D"_blank">http= s://github.com/gcasa/libs-webkitcef.</a>..<br> > <br> >>>>>>>> [webpage_demo.png]<br> > <br> >>>>>>>> As you can see, it is now loading a webpag= e from IETF showing an RFC.<br> >>>>>>>> This is backed by CEF (Chromium Embedded F= ramework), which makes it a <br> >>>>>>>> complete web browser. I used Codex (AI ass= istant) to find some of the <br> >>>>>>>> issues that I was having with getting this= up and running. I made <br> >>>>>>>> several missteps in my initial setup, whic= h the AI identified.<br> >>>>>>>> This implements a minimal set of the webvi= ew/webkit functionality to <br> >>>>>>>> allow applications to link and simply use = a webview as exists on <br> >>>>>>>> Cocoa.<br> >>>>>>>> I am working to make sure this can be link= ed properly as a framework, <br> >>>>>>>> independently to maximize reuse.<br> >>>>>>>> Yours, GC--<br> > <br> >>>>>>>> Gregory Casamento<br> >>>>>>>> GNUstep Lead Developer / Black Lotus, Prin= cipal Consultant<br> >>>>>>>> <a href=3D"http://www.gnustep.org" rel=3D"= noreferrer" target=3D"_blank">http://www.gnustep.org</a> - <a href=3D"http:= //heronsperch.blogspot.com" rel=3D"noreferrer" target=3D"_blank">http://her= onsperch.blogspot.com</a><br> > <br> >>>>>>>> <a href=3D"https://www.openhub.net/languag= es/objective_c" rel=3D"noreferrer" target=3D"_blank">https://www.openhub.ne= t/languages/objective_c</a><br> > <br> >>>>>>> --<br> > <br> >>>>>>> Gregory Casamento<br> >>>>>>> GNUstep Lead Developer / Black Lotus, Principa= l Consultant<br> >>>>>>> <a href=3D"http://www.gnustep.org" rel=3D"nore= ferrer" target=3D"_blank">http://www.gnustep.org</a> - <a href=3D"http://he= ronsperch.blogspot.com" rel=3D"noreferrer" target=3D"_blank">http://heronsp= erch.blogspot.com</a><br> > <br> >>>>>>> <a href=3D"https://www.openhub.net/languages/o= bjective_c" rel=3D"noreferrer" target=3D"_blank">https://www.openhub.net/la= nguages/objective_c</a><br> > <br> >>>>>> --<br> > <br> >>>>>> Gregory Casamento<br> >>>>>> GNUstep Lead Developer / Black Lotus, Principal Co= nsultant<br> >>>>>> <a href=3D"http://www.gnustep.org" rel=3D"noreferr= er" target=3D"_blank">http://www.gnustep.org</a> - <a href=3D"http://herons= perch.blogspot.com" rel=3D"noreferrer" target=3D"_blank">http://heronsperch= .blogspot.com</a><br> > <br> >>>>>> <a href=3D"https://www.openhub.net/languages/objec= tive_c" rel=3D"noreferrer" target=3D"_blank">https://www.openhub.net/langua= ges/objective_c</a><br> > <br> >>>> --<br> > <br> >>>> Gregory Casamento<br> >>>> GNUstep Lead Developer / Black Lotus, Principal Consultant= <br> >>>> <a href=3D"http://www.gnustep.org" rel=3D"noreferrer" targ= et=3D"_blank">http://www.gnustep.org</a> - <a href=3D"http://heronsperch.bl= ogspot.com" rel=3D"noreferrer" target=3D"_blank">http://heronsperch.blogspo= t.com</a><br> > <br> >>>> <a href=3D"https://www.openhub.net/languages/objective_c" = rel=3D"noreferrer" target=3D"_blank">https://www.openhub.net/languages/obje= ctive_c</a><br> > <br> > <br> >> -- <br> >> Patrick Cardona - Pi500 - GNU/Linux aarch64 (Debian 13.4) Xorg (1:= 7.7+24) - <br> >> libcairo2 (1.18.4-1+rpt1 arm64) - Window Maker (0.96.0-4)<br> >> GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - Classic - MUA: GN= UMail <br> >> (1.4.0 - rev.947)<br> > <br> > <br> <br> Cheers,<br> Patrick<br> <br> -- <br> Patrick Cardona - Pi500 - GNU/Linux aarch64 (Debian 13.5) <br> Xorg (1:7.7+24) - libcairo2 (1.18.4-1+rpt1 arm64) - Window Maker (0.96.0-4)= <br> GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - MUA: GNUMail<br> </blockquote></div><div><br clear=3D"all"></div><div><br></div><span class= =3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s= ignature"><div dir=3D"ltr"><div dir=3D"ltr"><div><div dir=3D"ltr"><font fac= e=3D"monospace">Gregory Casamento<br>GNUstep Lead Developer / Black Lotus, = Principal Consultant<br><a href=3D"http://www.gnustep.org" target=3D"_blank= ">http://www.gnustep.org</a> - <a href=3D"http://heronsperch.blogspot.com" = target=3D"_blank">http://heronsperch.blogspot.com</a><br></font></div></div= ><div dir=3D"ltr"><font color=3D"#888888" face=3D"monospace"><a href=3D"htt= ps://www.openhub.net/languages/objective_c" style=3D"color:rgb(17,85,204)" = target=3D"_blank">https://www.openhub.net/languages/objective_c</a></font><= /div></div></div></div> </blockquote></div><div><br clear=3D"all"></div><div><br></div><span class= =3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s= ignature"><div dir=3D"ltr"><div dir=3D"ltr"><div><div dir=3D"ltr"><font fac= e=3D"monospace">Gregory Casamento<br>GNUstep Lead Developer / Black Lotus, = Principal Consultant<br><a href=3D"http://www.gnustep.org" target=3D"_blank= ">http://www.gnustep.org</a> - <a href=3D"http://heronsperch.blogspot.com" = target=3D"_blank">http://heronsperch.blogspot.com</a><br></font></div></div= ><div dir=3D"ltr"><font color=3D"#888888" face=3D"monospace"><a href=3D"htt= ps://www.openhub.net/languages/objective_c" style=3D"color:rgb(17,85,204)" = target=3D"_blank">https://www.openhub.net/languages/objective_c</a></font><= /div></div></div></div> --000000000000517ab606541f177b--