C# HTML rendering engine

poruka: 16
|
čitano: 2.854
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
C# HTML rendering engine

Pozdrav, dali netko zna dali je moguće u C# napraviti vlastiti HTML rendering engine, znaci bez korištenja IE kontrole ili bilo kakve druge kontrole i dali ima kakav primjer jer na googleu nisam nasao nista osim gotovih kontrola sto necu, samo me zanima dali je moguce ?

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine

Moguce je.

Sto ces slijedece pitati moze li se napraviti u C#? {#}

 

Mozda da otvoris jednu temu sa naslovom: "Moze li se u C# napraviti..."

I onda samo nizes pitanja u tu temu. :D

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
15 godina
neaktivan
offline
Re: C# HTML rendering engine
rustweaver kaže...

Moguce je.

Sto ces slijedece pitati moze li se napraviti u C#? {#}

 

Mozda da otvoris jednu temu sa naslovom: "Moze li se u C# napraviti..."

I onda samo nizes pitanja u tu temu. :D

Dobra ideja :D

Ma to mi je palo na pamet pa ono reko da pitam kad na netu trazim, ali nitko nema pojma o tome ocito ...

16 godina
neaktivan
offline
C# HTML rendering engine

Ako ga ikada napraviš molit ću te da postaš kod negdje pa da "onaj što prog. u eng. programskom jeziku" shvati kako funkcionira web browser, jer je više dosadan sa svojim temamu u kojima se hvali kako je dodavanje IE kontrole na formu, web browser.

Poruka je uređivana zadnji put pet 1.4.2011 17:02 (Joco55).
Moj PC  
3 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine
Joco55 kaže...

Ako ga ikada napraviš molit ću te da postaš kod negdje pa da "onaj što prog. u eng. programskom jeziku" shvati kako funkcionira web browser, jer je više dosadan sa svojim temamu u kojima se hvali kako je dodavanje IE kontrole na formu, web browser.

Hahah, a cuj mozda i to bude jednoga dana ali ne tako brzo, ipak treba malo više znanja za tako nešto ...  ali bar ne programiram u engleskom ... {#}

17 godina
neaktivan
offline
C# HTML rendering engine

Prvo napravi HTML parser (ako se usudiš{#}), a onda tek razmišljaj o rendering enginu.

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine

Nisam ja ni rekao da idem raditi bilo šta, samo sam pitao dali je moguće {#}

17 godina
neaktivan
offline
C# HTML rendering engine

Zašto ne bi bilo moguće? Programski jezik kao i svaki drugi. O brzini bi se dalo diskutirati.

 

Edit:

Napravljen je i OS u C#, pa ti vidi.

Poruka je uređivana zadnji put pet 1.4.2011 17:14 (Tom69).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine

Pa neznam, jer na netu nema niti jedan primjer baš u C#, a i po stranim forumima isto nema nešto o tome previše ...

17 godina
protjeran
offline
C# HTML rendering engine

Naravno da može al' ono, lako za HTML, aj ti parsiraj CSS ili JavaScript i sve to renderiraj prema nekom standardu. Postoji razlog zašto imam samo 5-6 funkcionalnih browsera. Zato jer za takve stvari trebaju veliki inžinjerski resursi.

Al ono za zabavu, postoje nazovimo ih HTML renderi koji mogu izvuću tekst iz HTML, najčešće nekakvim HTML paresrom i regularnim izrazima i iscrtaju ga najćešće na konzolu. 

Programko http://programko.bloger.hr
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine
Programko kaže...

Naravno da može al' ono, lako za HTML, aj ti parsiraj CSS ili JavaScript i sve to renderiraj prema nekom standardu. Postoji razlog zašto imam samo 5-6 funkcionalnih browsera. Zato jer za takve stvari trebaju veliki inžinjerski resursi.

Al ono za zabavu, postoje nazovimo ih HTML renderi koji mogu izvuću tekst iz HTML, najčešće nekakvim HTML paresrom i regularnim izrazima i iscrtaju ga najćešće na konzolu. 

 

Znači u C# se moze napraviti i parser i renderer, znači nema potrebe da se baš C++ koristi !?

Poruka je uređivana zadnji put pet 1.4.2011 23:28 (NiGHT_RiDER92).
17 godina
neaktivan
offline
C# HTML rendering engine

Jedno su programski jezici, a druga stvar su API-ji koji ne ovise o programskom jeziku. Čitanje datoteka, komunikacija sa serverom, iscrtavanje ekran i drugo se bez problema može napraviti u C#. Za što ti točno u tom slučaju treba C++ (očito misliš da ti neke low-level funkcionalnosti trebaju?) osim zbog brzine?

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine
Tom69 kaže...

Jedno su programski jezici, a druga stvar su API-ji koji ne ovise o programskom jeziku. Čitanje datoteka, komunikacija sa serverom, iscrtavanje ekran i drugo se bez problema može napraviti u C#. Za što ti točno u tom slučaju treba C++ (očito misliš da ti neke low-level funkcionalnosti trebaju?) osim zbog brzine?

Pa netreba mi C++ nego me zanimalo samo dali je moguće to napraviti u C# ...

17 godina
offline
C# HTML rendering engine

Iako je mislim ovo nega trollerska tema, ali svjedno ću ti malo pomoći.

 

U većini današnjih "naprednih" jezika možeš napisati HTML parser.

 

Ako si mazohista onda možeš raditi sa direktno socketom i prvo napraviti neku HTTP kontrolu pomoću koje ćeš raditi HTTP response i request. Meni je jednom trebalo kada sam morao napraviti SOAP komunikaciju bez web servera (kao standalone aplikaciju), a preko HTTP kontrola (opisanih dolje) je radilo sporije nego mi je trebalo. Ukratko socket ti ima blocking i non-blocking mode operiranja. Blocking ti blokira daljnje izvršavanje koda do onoga trenutka dok ne dobiješ odgovor od hosta, non-blocking ti ne blokira, ali onda se moraš igrati sa selektorom i postavljanja njegovih flag-ova za čitanje ili pisanje u socket. Možeš i blocking pretvoriti u "hibrid" NIO (Non-blocking IO), tako da čitanja i pisanje za svakog klijenta postaviš u novi thread. Isto tako kad radiš sa selectorom moraš ga uvijek dobro zatvarati jer ti "socket" konekcije ostaju u "CLOSE_WAIT" stanju pa možeš izgubiti sve slobodne konekcije na mašini.

Evo nešto za početi, socket komunikacija u Javi (slično je u .NET-u):

http://www.oracle.com/technetwork/java/socket-140484.html

 

Ako si malo normalniji i neda ti se to raditi i ne zanima te low-level HTTP, onda imaš ovakve kontrole

http://hc.apache.org/httpcomponents-client-ga/

 

To su ti već implementirani HTTP Client i Server. Takvi isti se koriste i kod Android-a. Mi smo kod izrade aplikacije BugDroid (za čitanje BugOnline kroz android, ako si čuo), koristili te kontrole, praktički smo napravili mali HTTP browser koji čita samo BugOnline (preko regex-a). Sad smo ga malo unaprijedili i može se preko njega logirati na forum, čitati forum itd..., pamti ASP autorizacijske Cookie (i obične koji mu trebaju), response HTTP Header-e. Iskreno ima puno posla s postavljanjem pravilnih header-a, cookia, parametara, ima masu toga što moraš uzeti u obzir, mi smo uzeli samo ono što je specifično za BugOnline.

 

Tu imaš  HTTP specifikaciju ako te zanima (koje se moraš držati kod raw komunikacije preko socket-a)

http://www.w3.org/Protocols/rfc2616/rfc2616.html

Ovdje imaš HTML specifikaciju (koji je ustvari najobičniji XML i možeš ga parsati kao takvog)

http://www.w3.org/TR/html401/

 

Evo nadam se da je to odgovorilo na nešto od tvojih pitanja.

'Genius might be the ability to say a profound thing in a simple way' Charles Bukowski
 
2 0 hvala 1
16 godina
neaktivan
offline
C# HTML rendering engine

Autora teme je samo zanimalo da li se može napraviti web browser u C#, pa ja čisto sumnjam da će ga dotični raditi jer je vrlo vjerojatno na početku programerske karijere pa odlučuje koji jezik koristiti.

 

Ali evo pošto je @dado2202 dao par odličnih resursa ali ja smatram da su previše low level, evo i ja sam našao nešto jednostavnije članke na codeproject-u koji koriste gotove .net komponete:

        Parser - http://www.codeproject.com/KB/recipes/FFHtmlParser.aspx

        Renderer - http://www.codeproject.com/KB/GDI-plus/HtmlRenderer.aspx

 

Na CP-u ima pun k**** stvari vezanih za to, ovo su 2 prva koja su mi se izbacila prilikom pretraživanja, pa ako nekome ova 2 članka ne odg. svakako nek izabere neke druge od ponuđenih.

 

Moj PC  
1 0 hvala 0
15 godina
neaktivan
offline
Re: C# HTML rendering engine
dado2202 kaže...

Iako je mislim ovo nega trollerska tema, ali svjedno ću ti malo pomoći.

 

Nije trollerska tema, stvarno me zanimalo jer na netu nigdje nisam mogao nista naci o tome pa reko idem ovdje pitati ...

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice