Jakie korzyści może przynieść ScriptSharp mojemu zestawowi narzędzi?

Obecnie używamy jQuery, aby dodać RIA do naszych aplikacji, ale ostatnio wdrażaliśmy wyszukiwarkę Coveo do naszego portalu Sharepoint i okazało się, że w ich produkcie zastosowano ScriptSharp. Co może przynieść ScriptSharp do stołu?

Author: Mauricio Scheffer, 2009-04-25

5 answers

Używam ScriptSharp jak mówimy, po odkryciu go około 2-3 tygodnie temu. Szczerze, uwielbiam to. Natywny Javascript jest wyzwaniem, a model DOM sprawia, że programowanie po stronie klienta jest jeszcze gorsze. Potem odkryłem jQuery jakieś pół roku temu, i myślałem, że to dar niebios. jQuery zwiększył moją produktywność, ale nadal często grzęźnę w jQuery, ponieważ nadal musisz pisać, debugować i poprawiać Javascript.

Wpisz ScriptSharp. To zwiększyło moją produktywność ponad jQuery i zmniejszył moje bóle głowy ogromnie. Największe zalety, jakie widzę, to fakt, że moc C# i Visual Studio jest twoja podczas pisania kodu.Siła tego nie może być zaniżona. Teraz drobne błędy Javascript, które zajmowały wiele godzin, aby debugować, zostały wyeliminowane w czasie kompilacji. linie kodu są prawdopodobnie około dwa razy więcej niż w jQuery, ale wydajność jest o wiele wyższa, więc kogo to obchodzi? W zasadzie tylko piszesz Kod, o wiele mniej cykli kompilacji / testowania/debugowania. Godziny stają się minutami.

Powiem, że początkowo trudno było uzyskać ScriptSharp do pracy z Microsoft AJAX, dopóki nie dowiedziałem się o bardzo ważnym kroku , który musisz podjąć, aby z nim pracować. Wyrywałam włosy na kilka dni, zanim się o tym dowiedziałam. (Wierzę, że jest to udokumentowane w Scriptsharp ' S 61-stronicowy PDF Readme, ale to jest bardzo łatwo to połysk.) Kluczem jest wybranie typu projektu " Script# Class Library inside a Web Site "(lub" MS Ajax Class Library Inside a Web Site") podczas tworzenia biblioteki ScriptSharp. Umieszcza projekt ScriptSharp w katalogu Bin / Scripts strony, a -- bardzo ważne -- kieruje skompilowane wyjście do tego katalogu zamiast do domyślnego katalogu " bin " projektu ScriptSharp. Być może przykład będzie pouczający:

Web Site or Application directory\
   Bin\ 
      Scripts\           <-- "..\\" config setting sends .js files here.
         ScriptSharp Project directory\
            Bin\         <-- will not be used at run time
               Debug\    <-- will not be used at run time

Krótko mówiąc, uznałem ten projekt za wartościowy. Napiszę własne HOW-TO (co w moim przypadku wiąże się z użyciem kontrolek użytkownika sieci), jak powiązać wszystko ze sobą i opublikować adres URL tutaj. Teraz, gdy już rozgryzłem ScriptSharp, uczyniło mnie to bardzo produktywnym w rozwoju RIA. Gdyby tylko było bardziej widoczne i gdyby tylko strona CodePlex nadal tam była.

 23
Author: Jim Raden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-25 15:58:50

W mojej ostatniej firmie używałem Script# bardzo intensywnie. Udało mi się napisać kilka fajnych kontrolek (w rzeczywistości cały stos MVC po stronie klienta), których nie mogłem zrobić z moją znajomością javascript. Jednak nie użyłbym go ponownie z kilku powodów

  • projekt jest zamknięty, a wsparcie nie jest wielkie (praktycznie nie istnieje od czasu zamknięcia forum). Istnieje sporo irytacji, gdy używasz go w dużej głębokości, które można naprawić, jeśli masz źródło. To staje się coraz większym problemem im więcej zainwestowałeś w s # code.
  • Jest on ograniczony do podzbioru. NET 2.0, a nawet wtedy jego nieszczelna abstrakcja
  • Ostatnio JavaScript unit testing I vs intellisense dla javascript ma się znacznie lepiej, więc znaczenie typowania statycznego jest nieco zmniejszone
  • używanie go ograniczyło moją naukę jquery i javascript

Narzędzia do js są coraz lepsze i dopóki Script# nie będzie open source, to na / align = "left" /

Jeśli jesteś zainteresowany kompilacją krzyżową, możesz również rzucić okiem na http://jsc.sourceforge.net / projekt, który pozwala korzystać z. Net 3.5 i kompilować do JS, Java, Flash, a nawet PHP! Nie wiem jednak, jak wydajny jest kod, który jest wytwarzany...

Edit: istnieje nowy projekt o nazwie JSIL, który również przepisuje kod. NET do JS

 17
Author: mcintyre321,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-12 17:02:38

Projekt kompilatora jsc umożliwia takie scenariusze:

  • C# to MSIL to JavaScript for browser
  • C# to MSIL to JavaScript for AppJet
  • C# do MSIL do PHP5 dla rozwiązań hostingowych
  • C# to MSIL to Java for browser aplets
  • C# to MSIL to Java for applications
  • C# to MSIL to Java for JavaCard
  • C# do MSIL do C99 dla natywnych aplikacji stub
  • C# do MSIL do ActionScript3 dla Flasha 9
  • C # to MSIL to Adobe Alchemy C for Flash 9
  • C# do MSIL do C # 2.0

Z pewnym wysiłkiem Visual Basic może być również używany jako język źródłowy. Kompilator jsc nigdy nie odczytuje kodu źródłowego, nawet jeśli GWT i Script# to robią. Mój kompilator czyta Twoje IL.

Kompilator Jsc to

  • eksperymentalny projekt
  • one mans trud yet
  • Już całkiem przydatne. 3 lata.
  • oczekiwanie na wsparcie w celu optymalizacji czasu kompilacji i samego wyjścia

Najnowsze przykładem jest animacja plazmowa, w której pojedynczy implementacja może być używana pomiędzy tymi platformami:

FlashPlasma http://jsc.sourceforge.net/examples/web/FlashPlasma/assets/FlashPlasma/Preview.png

 8
Author: zproxy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-26 08:27:13

Skrypt sharp Prototype: GWT Microsoftu

Zgodnie z tą stroną:

  • czysty język z naturalnymi konstrukcjami.
  • łatwiejsze refaktoryzacja i eksploracja.
  • możliwość generowania dokumentacji.
  • możliwość łatwego dostosowania kodu skryptu.

Nie jestem pewien, czy się z tym wszystkim Zgadzam, ale to i tak podstawa sprzedaży. Wygląda na to, że jest napisany z kilkoma funkcjami OO. Opinia dodana: jak już wspominałem, Java a programiści C# pozornie chcą wyrzucić prototypowe / nieopisane aspekty Javascript, ponieważ są niewygodni z pisaniem kodu w ten sposób. Nietypowe języki prototypowania mają swoje miejsce.

 3
Author: cgp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-25 13:38:12

Chciałbym udostępnić moje klasy wrappera jQuery dla skryptu#. Możesz uzyskać dostęp i korzystać z zaawansowanych funkcji jQuery w swoim Script# project, już teraz.

Get it from here: http://www.springsys.com/blog/

 0
Author: Jerry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-22 09:40:18