[Lazarus] Help System with Chromium Embedded component

classic Classic list List threaded Threaded
56 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-11-08 02:51, Lars via Lazarus wrote:
> It's sort of like a JVM bytecode, but for the web browser.

That makes you wonder, why not simply go back to Java Applets. They came
out in 1996 and I thought they were brilliant for web applications. You
had the full power of the Java language and graphics stack at your disposal.

Yes there was phase when Java had some security issues, but those were
resolved, and any future security issues could be resolved just as
easily. I simply don't understand why they must always try and reinvent
the wheel, when they could simply fix or improve the wheel.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Fri, Oct 21, 2016 at 12:13:32PM +0100, Graeme Geldenhuys via Lazarus wrote:

> Regarding the FPC guides. I consider the FPC Language Reference the most
> important one, so I manually converted it (and keep it in sync with FPC
> releases when I can), and also added my own additions to take advantage
> of the INF format. See attached screenshot.
>
> As for the others guides, I wrote a tool that does LaTex to IPF
> conversions (that was hard). I also did a HTML to IPF tool. But in both
> cases some elements are not yet converted, and generally the formatting
> is not nearly as good as it should be (my standards are high when it
> comes to help formatting). So I don't publicise what I don't think is of
> high enough quality yet.

If you can store a reasonably abstract inbetween format that would be good.

> Take the Free Pascal CHM help as an example - it is horrific looking.
> The fpdoc's HTML output writer was clearly designed for online HTML
> usage with popup browser windows and decent CSS support etc.

The HTML output writer is parameterizable. IOW there is html output and chm
output. The original CHM output was designed for the Windows help viewer
though, not Lhelp.

It works fine in the IDE though.


>  The CHM
> conversion of that gives broken links, unsupported features and bad
> formatting.

This is incorrect for fpdoc output, as it is not the html data that is being
converted. So I'm going to need examples here.


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list


On Mon, 7 Nov 2016, Lars via Lazarus wrote:

> On Mon, November 7, 2016 12:25 pm, vfclists . via Lazarus wrote:
>> I mean the latest thing now is
>> WebAssembly which shows how ridiculous the whole business has become.
>
>
> Web assembly, if designed properly, might actually get rid of some
> problems. Javascript is a large mammoth, or ugly beast. Web assembly may
> allow one to for example compile freepascal code directly to byte code
> that runs in the browser, instead of people using ugly obfuscated bloated
> javascript "hacks".
>
> It's sort of like a JVM bytecode, but for the web browser. Or a .net
> bytecode. I don't fully know what web assembly intends to be, as it's not
> completed yet fully, but, it may actually get rid of some of the
> javascript bloated crap out there.

I seriously doubt that. It's just something that will exist next to
javascript but in essence will perform the same tasks as javascript.
You can create relatively clean and structured javascript if you want.
It just requires discipline as the language doesn't enforce it.

The problem is IMHO not so much the language, but what you do with it.

>
> Lots of people may in fact ignore webassembly and continue to use
> javascript. God forbid.

Well, there is interest in a WebAssembly backend for FPC.
Someone is looking at it.
Just as we are working on a transpiler from Pascal to Javascript.

Michael.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 08.11.2016 11:42, Michael Van Canneyt via Lazarus wrote:
>
> I seriously doubt that. It's just something that will exist next to
> javascript but in essence will perform the same tasks as javascript.
==OFF TOPIC== (so ignore if there is not a very short answer)

Any plans  for a webassembly support with FPC ?

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list


On Tue, 8 Nov 2016, Michael Schnell via Lazarus wrote:

> On 08.11.2016 11:42, Michael Van Canneyt via Lazarus wrote:
>>
>> I seriously doubt that. It's just something that will exist next to
>> javascript but in essence will perform the same tasks as javascript.
> ==OFF TOPIC== (so ignore if there is not a very short answer)
>
> Any plans  for a webassembly support with FPC ?

I wrote it in the email you are replying to. Please re-read.

Michael.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
Hi,

I may have missed this point in the discussion, but would it not make more sense
to get a native HTML component (either from IPro or the THTML port) to the point
where it can provide everything needed? THTML (my favourite) already has fairly
solid layout and CSS support, so it should provide most things that are
required. What it does miss is proper DOM access and manipulation, but I'd
rather see efforts focused there than on CEF, which would require the same work
to wrap it on the pascal side anyway...

Depending on the scenario, we might get away without any Javascript support by
using PascalScript, iff there would be some interface between DOM and the host
application.

Certainly doing that would result in lots of reusable code for completely
different applications.


Martok

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
Am 08.11.2016 um 15:56 schrieb Martok via Lazarus:

> Hi,
>
> I may have missed this point in the discussion, but would it not make more sense
> to get a native HTML component (either from IPro or the THTML port) to the point
> where it can provide everything needed? THTML (my favourite) already has fairly
> solid layout and CSS support, so it should provide most things that are
> required. What it does miss is proper DOM access and manipulation, but I'd
> rather see efforts focused there than on CEF, which would require the same work
> to wrap it on the pascal side anyway...
>
> Depending on the scenario, we might get away without any Javascript support by
> using PascalScript, iff there would be some interface between DOM and the host
> application.
>
> Certainly doing that would result in lots of reusable code for completely
> different applications.

+1
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, November 8, 2016 3:49 am, Michael Schnell via Lazarus wrote:

> On 08.11.2016 11:42, Michael Van Canneyt via Lazarus wrote:
>
>>
>> I seriously doubt that. It's just something that will exist next to
>> javascript but in essence will perform the same tasks as javascript.
> ==OFF TOPIC== (so ignore if there is not a very short answer)
>
>
> Any plans  for a webassembly support with FPC ?
>
>

There is an old thread about it here:

http://forum.lazarus.freepascal.org/index.php/topic,28836.0.html

Many skeptics, but many think it is an interesting idea even though
skeptical.

And what happened to microsoft silverlight? did anyone care?
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, November 8, 2016 3:19 am, Graeme Geldenhuys via Lazarus wrote:
> On 2016-11-08 02:51, Lars via Lazarus wrote:
>
>> It's sort of like a JVM bytecode, but for the web browser.
>>
>
> That makes you wonder, why not simply go back to Java Applets.



One issue, back in the day, was that you could only use Java programming
language, right? At that time no one had thought of multi language jvm
targetting with different originating languages...  all java applets were
java programming language coded, afaik...

I could be wrong.

Another issue with java applets is you had to make sure they were
installed correctly, whereas javascript need not install. With webassembly
I don't think there is a java system you have to install on the machine.
Java applets required first downloading the JVM from Sun, right?


It's been so long since I've seen a java craplet (that's the locker room
talk name for it) that I cannot remember.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, November 8, 2016 9:36 am, Werner Pamler via Lazarus wrote:
> Am 08.11.2016 um 15:56 schrieb Martok via Lazarus:
>
>> Hi,
>>
>>
>> I may have missed this point in the discussion, but would it not make
>> more sense to get a native HTML component (either from IPro or the THTML
>> port) to the point where it can provide everything needed?
...
> +1

Well the reason chromium is in my line of sight, is because other people
do the work to maintain the browser for you.  Creating your own web
browser component is massive amounts of work, whereas chromium is coded by
other people.  True you have to write wrappers around it, but you also end
up with a standard component where there are already plenty of c++
examples to learn from, and you are supported by a massive team over at
chromium. Whereas writing your own browser component requires constantly
playing "catch up", implementing every feature needed which chromium had 5
years ago.


So does IPro or THtml have any large following and existing codebase to
work with? I would have to learn about these as I have not used them.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, November 8, 2016 3:13 am, Graeme Geldenhuys via Lazarus wrote:
> My point is, for a help system you really don't need the latest and
> greatest HTML5 features. It's simply not needed. What you do want in well
> formatted text, images and some basic rich text styles. Good help is more
> about the contents and the speed of getting to that contents, that about
> the presentation.  But some people are more obsessed about presentation
> with rubbish or near zero content.
>

Agreed, but when you need documentation to look as professional as a PDF
file, HTML 5 could be useful.  I find the documentation, for example, for
Total Commander, to just be a little bit too Windows 3.1 looking. It's may
be good documentation filled with lots of good text, but it feels like
something from Windows 95 or windows 3.1.  For professional software apps
a windows 3.1 look may be just a bit too off putting.  In the case of
total commander, the folks who use total commander are they types of nerds
that don't care. But for modern professional capitalism sold apps, I think
help documents have to look more modern.  As much as I hate modern, just
for the sake of being modern. Like some kind of fashion show.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, November 8, 2016 3:42 am, Michael Van Canneyt via Lazarus wrote:
> I seriously doubt that. It's just something that will exist next to
> javascript but in essence will perform the same tasks as javascript. You
> can create relatively clean and structured javascript if you want. It just
> requires discipline as the language doesn't enforce it.

I start off by writing some javascript and I think, hey this isn't so bad.
But eventually after about 10 paragraphs of code it starts to get ugly, no
matter what I try. That's why there is a book written called "Javascript,
the good parts" because it has become such a large mammoth that they
needed to write a book about a subset of java that may (or may not) be the
good parts. Whether those are the good parts or not, is still up for
debate, because I haven't read the book. If I had time..


>
> The problem is IMHO not so much the language, but what you do with it.
>
>

Okay but take brainf*ck language as an example. In this case the language
is in fact a serious problem.  Or take C++.  The language just encourages
you to do nasty things when you need/want to. In order to write sensible
looking C++ code you should... just use a subset of C++, such as C, and
avoid most C++ features. But then you call in some library and they are
using that feature, so, you have to use it too... the issue with
javascript is you pull in a lot of libraries that make use of the features
so you have to end up using them indirectly too.

Again, I guess I should read the book "Javascript the good parts" if I
have time.

>
> Well, there is interest in a WebAssembly backend for FPC.
> Someone is looking at it.
> Just as we are working on a transpiler from Pascal to Javascript.
>


That's good news, and I have no idea how you guys keep up with all this
crap that comes out every year. The work required to port fpc to all these
systems, whether virtual machines, or real machines, is enormous.

What ever happened to LLVM ? much interest? Yet another port to a virtual
machine.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list

> I wrote it in the email you are replying to. Please re-read.
>
Sorry for hitting the send button too early :-(

-Michael
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 2016-11-09 04:43, Lars via Lazarus wrote:

> One issue, back in the day, was that you could only use Java programming
> language, right?

Hence the name "Java Applet"  ;-)



> Another issue with java applets is you had to make sure they were
> installed correctly,

No, the web server served it to the web browser, just like it does with
HTML, CSS etc. Later they introduced WebStart which allows you to run
the Java Applet or Application outside the browser window too - thus the
embedded window was not a requirement any more.


> Java applets required first downloading the JVM from Sun, right?

Correct, just like you need to download and install a Flash plugin
before you can view the crap flash-based ads. But if there was enough of
a push, a Java runtime could easily have been included with a web
browser (just like there Javascript Engines - Netscape did both, so did
Opera back in the day), or include a Java runitem as standard with the
OS itself (like IBM did with OS/2).

But as with everything Internet based, everything has a maximum shelf
life of 6-12 months, then something new must be introduced.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 2016-11-09 05:13, Lars via Lazarus wrote:
> I find the documentation, for example, for
> Total Commander, to just be a little bit too Windows 3.1 looking.

I'll bet you a 6-pack of beer that the documentation was written by the
developer himself. That would explain the lack of typography. :)


Regards,
  Graeme

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Tue, Nov 08, 2016 at 09:48:31PM -0700, Lars via Lazarus wrote:
> >> port) to the point where it can provide everything needed?
> ...
> > +1
>
> Well the reason chromium is in my line of sight, is because other people
> do the work to maintain the browser for you.

True, but you also subscribe to an engine with a lot more known
vulnerabilities and attack surface that way.

The frequent updates that often break interfaces are also an headache.

If multi versions installs are not possible or hard, that would complicate
keeping old IDEs running.

> Creating your own web
> browser component is massive amounts of work, whereas chromium is coded by
> other people.

But deployment and updating is still yours, and a tad more involved.

If I would replace lhelp and chm, I wouldn't go that way, but some way with
a local webserver (for searching and the like), and just use whatever is
installed.

The best reason to have some local (whatever how limited) widget is for IDE
popups of helptext instead of an external browser.

But I think lhelp still has enough leeway, and I think Graeme greatly
overexaggerates the problems.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On Wed, 9 Nov 2016 15:57:04 +0100
Marco van de Voort via Lazarus <[hidden email]> wrote:

>[...]
> The best reason to have some local (whatever how limited) widget is for IDE
> popups of helptext instead of an external browser.

Good point.

Mattias
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 2016-11-09 14:57, Marco van de Voort via Lazarus wrote:
> But I think lhelp still has enough leeway, and I think Graeme greatly
> overexaggerates the problems.

And my comparison screenshots (from earlier) show the problem as clear
as day. Your comment about "LHelp works fine with fpdoc generated CHM"
is a moot point. LHelp is also used for shipping your own application
with help and a help viewer (Linux, OSX, FreeBSD, Solaris etc don't
include CHM help viewers as standard), in which case you will not be
using fpdoc to author application help. The inconsistency of HTML
rendering components is a real problem.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
Am 09.11.2016 um 16:02 schrieb Mattias Gaertner via Lazarus:
> On Wed, 9 Nov 2016 15:57:04 +0100
> Marco van de Voort via Lazarus <[hidden email]> wrote:
>> [...]
>> The best reason to have some local (whatever how limited) widget is for IDE
>> popups of helptext instead of an external browser.

That was also one of my reasons, too. It doesn't even have to do everything
modern HTML can (on the part of the layout engine, there haven't really been
that many changes anyway), but something to view rich content (purposefully not
saying 'RichView' here...) would be good to have. HTMLHelp would really just be
one of multiple applications for it.

Am 09.11.2016 um 16:24 schrieb Graeme Geldenhuys via Lazarus:
> The inconsistency of HTML rendering components is a real problem.
Yet another reason against the IE5 of this decade.



--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Wed, November 9, 2016 3:07 am, Graeme Geldenhuys via Lazarus wrote:
> On 2016-11-09 04:43, Lars via Lazarus wrote:
>
>
>> One issue, back in the day, was that you could only use Java
>> programming language, right?
>
> Hence the name "Java Applet"  ;-)
>
>

But, could one compile fpc code to javaapplet jvm bytecode? Why no one
thought of this idea?  And when I say fpc, I mean literally any language
not just fpc.  We already have tools that convert languages to jvm
runnable code, so why not java applets programmed in other languages?


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
123