Projekt webowy w ASP.net - czy konieczna jest kompilacja źródeł?

0

O ile mi wiadomo, projekt webowy pisany w ASP.net (zakładamy C# i ASP.net MVC) może być skompilowany do pojedynczego pliku (chyba) dll i odpalony jako aplikacja na serwerze.

Mam w związku z tym kilka pytań:

1. Czy to standard i jedyna droga? (alternatywa jaką sobie wyobrażam - parsowanie plików aspx podobnie jak w przypadku języków interpretowanych: ruby, python, php, nodejs etc.)

2. Czy taki dll jest łatwo dekompilowalny do czytelnej postaci?

3. Gdyby dało się serwować zwyczajne pliki aspx, to czy ma to jakieś ograniczenia? (np. dużo wolniejsze, brak dostępu do niektórych bibliotek etc.)

4. O ile nie mówimy o jakimś SaaS, to dostęp do źródeł jest standardem w wypadku projektów pisanych w oparciu o php, django, RoR itp. Klient może łatwo dokonać audytu jakości kodu. Jak jest w przypadku projektów w .net? Czy raczej sprzedaje się licencję na użytkowanie i maksymalnie chowa źródła? Jako klient chciałbym móc ocenić jakość programu, odpalić testy - ogólnie widzieć w pełni za co płacę.

Klient oczywiście może próbować wynegocjować przekazanie źródeł w umowie, ale wykonawca może cisnąć, że tak się prawie nigdy nie robi i standardem jest ukrywanie źródeł jako dobra intelektualnego firmy. Na ripostę, że w innych technologiach w ogóle nie byłoby tematu mogą zacząć prychać i śmieszkować ;).

Z góry dzięki za pomoc!

0
Randomcorwin napisał(a):

1. Czy to standard i jedyna droga? (alternatywa jaką sobie wyobrażam - parsowanie plików aspx podobnie jak w przypadku języków interpretowanych: ruby, python, php, nodejs etc.)

Nie. Rozróżnić trzeba "web project" i "web site", w tym drugim przypadku pliki nie są kompilowane (znaczy są, ale JIT). W podobny sposób to będzie działało w ASP.NET vNext.

2. Czy taki dll jest łatwo dekompilowalny do czytelnej postaci?

Tak. .NETowe DLL-ki i EXE są bardzo łatwo przerabialne z postaci kodu pośredniego do kodu bardzo zbliżonego do oryginalnego kodu (ale nie identycznego).

0
  1. W dll jest tylko skompilowany kod C#, nie cshtml czy aspx, które leżą sobie luzem na serwerze.
  2. Tak jak każda dll w .NET.
  3. Patrz 1.
  4. Kod kupiony przez klienta jest dobrem intelektualnym jego, a nie producenta. Nigdy nie spotkałem się z sytuacją, w której klient nie chciałby kodu. Przecież to by było samobójcze uwiązanie się do jednego wytwórcy.
Krzywy Młot napisał(a):

Nie. Rozróżnić trzeba "web project" i "web site", w tym drugim przypadku pliki nie są kompilowane (znaczy są, ale JIT). W podobny sposób to będzie działało w ASP.NET vNext.

Web site polega na tym, że nawet kod C# leży w plikach luźno na serwerze. Autor pyta o coś innego.

0
somekind napisał(a):
  1. Kod kupiony przez klienta jest dobrem intelektualnym jego, a nie producenta. Nigdy nie spotkałem się z sytuacją, w której klient nie chciałby kodu. Przecież to by było samobójcze uwiązanie się do jednego wytwórcy.

Dokładnie - m.in. tego chcę uniknąć.

somekind napisał(a):

W dll jest tylko skompilowany kod C#, nie cshtml czy aspx, które leżą sobie luzem na serwerze.

Czyli mając projekt napisany z użyciem np. ASP.net MVC + Entity Framework, całe "mięso" z części M i C (to będą chyba pliki .cs) będzie skompilowane do DLL, "otwarte" pozostają wtedy widoki?

Nota bene - ciekawe, że wpis na wiki dot. ASP.net w ogóle nie wspomina o kompilacji.

0
Randomcorwin napisał(a):

Dokładnie - m.in. tego chcę uniknąć.

No to zapisz to w umowie. I od razu daj cenę sto albo tysiąc razy niższą, bo taką aplikację możesz później przecież sprzedawać większej liczbie klientów.

Możesz też hostować aplikację sam, a klientowi dawać dostęp do usługi. To by było rozsądniejsze podejście przy aplikacji webowej, i gwarantujące, że klient Ci kodu nie ukradnie.

Czyli mając projekt napisany z użyciem np. ASP.net MVC + Entity Framework, całe "mięso" z części M i C (to będą chyba pliki .cs) będzie skompilowane do DLL, "otwarte" pozostają wtedy widoki?

Tak. Przy czym dll łatwo zdekompilować.

0

W tej sytuacji wyjątkowo reprezentuję klienta i nie mam doświadczenia we wdrożeniach projektów .net - m.in. wiedzy, jakie pomysły na ułożenie umów z klientem przychodzą do głów wykonawcom. Dzięki Waszym odpowiedziom mam teraz pełną jasność.

1 użytkowników online, w tym zalogowanych: 0, gości: 1