Macbook 16 a C#/.NET

veneficus
  • Rejestracja:ponad 5 lat
  • Ostatnio:6 dni
  • Postów:383
0

Cześć, Jak wygląda sytuacja z programowanie w c#/.NET/ASP na macbooku? Szukam laptopa i na prawdę nie widzę nic sensownego na windows.. Myślałem nad surfacebook3 ale koszt jak macbook a procesor gorszy a karta graficzna niepotrzebne mi. Chyba ,że jesteście w stanie coś polecić na windows?


We buy things we don't need with money we don't have to impress people we don't like.
VA
  • Rejestracja:ponad 7 lat
  • Ostatnio:3 dni
0

Kupowałem laptopa w kwietniu i wybór padł na HP Elitebook 840 G6 i7/32GB.
Na tę chwilę nie narzekam, dało się na nim otworzyć naprawdę wielką solucję z > 300 projektami i pracować z nią, tyle że trzeba było wyłączyć R# (nie mam niestety porównania do innych maszyn). Jedną z wad tego kompa jest włączający się czasem wentylator przy braku poważnego obciążenia przez co chwilami jest głośno. Poza tym sprawdza się bardzo dobrze.

veneficus
Jak klawiatura i gładzik w nim?
VA
Klawiatura daje radę, płaska ale wygodna. Mniej wygodna niż np Dell E5440 (jedyny z którym mogę porównać)Z touchpada praktycznie nie korzystam. To jednak kwestie na tyle osobnicze że warto byłoby sprawdzić samemu.
PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:171
0

Macbook Air to raczej nie da rady do takiego komercyjnego programowania, ale Pro to myśle spokojnie.

veneficus
Niestety nie ma Macbooka Air 16. Mam na myśli Pro 16 z i7 9750 i 16/32 GB ram. Chodzi mi to czy spoko programuje się w C# na macu.
AN
  • Rejestracja:prawie 19 lat
  • Ostatnio:około 3 godziny
0

Mam pewno doświadczenie z .NET w nie-Windows, a konkretnie w Ubuntu Linux. Myślę, że na Mac sprawa będzie wyglądać podobnie.

Na Linux i OSX jest MonoDevelop, a także Xamarin Studio, nie wiem, czy to jest jeden i ten sam program pod różnymi nazwami, na Ubuntu pobrałem MonoDevelop z repozytorium wskazanego na https://www.monodevelop.com/download/ .

Jeśli chodzi o aplikacje .NET, to sprawa wygląda następująco:

  1. Konsolowe - generalnie nie ma prawie żadnych problemów, jedynie z jedną aplikacją wykorzystującą bardziej zaawansowane funkcje konsoli (kolory, buforowanie tekstu) miałem duże problemy.
  2. Używające okien - tu sprawa się nieco komplikuje, bo istnieją w zasadzie 3 biblioteki do okien:
    a. Windows Forms - Na Linux uruchamia się bez większego problemu, ale MonoDevelop nie zapewnia wsparcia w tworzeniu formatek.
    b. Windows Presentation Foundation - Niemożliwe do użycia w systemach innych niż Windows.
    c. GTK# - biblioteka utworzona przez autorów Mono, wspierana przez MonoDevelop, w systemie Windows należy ją doinstalować osobno.
  3. ASP.NET - akurat na Ubuntu tego nie przerabiałem, jednakże 5 lat temu na Raspberry Pi (system Raspbian) uruchomiłem wcześniej opracowaną aplikację ASP.NET z powodzeniem. Do tego był użyty FastCGI, skonfigurowany według znalezionych opisów. Aplikacja działała bez problemów po zainstalowaniu Mono.
  4. Co do .NET Core, to nie wypowiem się, bo tego nie znam, a nie chcę zgadywać, jak to wygląda i jak będzie działać.

W związku z powyższym, jak zdecydujesz się na Maca, to nie będziesz zmuszony do rezygnacji z C# i .NET, w większości przypadków praca w tej technologii będzie możliwa. Mogą być tylko pewne problemy z przeniesieniem istniejących aplikacji, bo albo trzeba trochę coś zmienić, albo trzeba dodać jakąś dodatkową bibliotekę (taką sytuację miałem z jedną aplikacją używająca bibliotek MailKit i MimeKit, musiałem dodać Bouncy.Castle). Przy opracowywaniu aplikacji od podstaw nie będzie problemu.

Ja programuję w C# w ramach hobby, niekomercyjnie, niedawno zmieniałem cały komputer i razem z tym zamieniłem Windows 8 na Ubuntu Linux, zmiany nie żałuję, lubię C# i nadal zamierzam z tego korzystać, równolegle z C++/Qt.

Jeżeli masz taką możliwość, to proponuję zainstalować Mac OS X na maszynie wirtualnej (niekoniecznie najnowszą dostępną wersję, na Allegro są oryginalne nośniki za kilkadziesiąt złotych, więc nie będziesz zmuszony do uzyskiwania nielegalnych wersji systemu z internetu) i sprawdzić, jakie będą możliwości.

edytowany 1x, ostatnio: andrzejlisek
PI
Temu można wziąć na osobę prywatną, popatrzeć jak wszystko działa i odesłać, a potem zamówić na firmę :P
veneficus
W sumie mam macbook air z 2015 i mogę sprawdzić ,ale zapewne wszystkie nie sprawdzę bo zaawansowany ,aż tak nie jestem więc pytam ludzi czy napotykają jakąś ścianę.
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
2

Zależy jaki mak, jak poniżej 10k to może być problem z pracą, ludzie się paczą z grymasem, odwracają wzrok...


TurkucPodjadek
TurkucPodjadek
Co ten post wniósł do tego tematu?
AN
  • Rejestracja:prawie 19 lat
  • Ostatnio:około 3 godziny
0
czysteskarpety napisał(a):

Zależy jaki mak, jak poniżej 10k to może być problem z pracą, ludzie się paczą z grymasem, odwracają wzrok...

Powyżej 10k, to różnice wydajnościowe pewnie się już zacierają, ale nie zmienia to faktu, że jak ktoś potrzebuje bardzo wydajny sprzęt, to powinien szukać komputera stacjonarnego, a laptopa kupuje ktoś, kto potrzebuje mieć możliwość przenoszenia komputera z miejsca na miejsce. Ale skoro wątek jest na temat wyboru kompa spośród dwóch laptopów, to widocznie autor potrzebuje przenosić z miejsca na miejsce.

veneficus
Mam dosyć mocną maszynę w domu na W10. Ale wybieram się na studia i zapewne będę się przeprowadzał więc dlatego chce również laptopa.
NN
NN
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 4 lata
  • Postów:239
0

Mam pewno doświadczenie z .NET w nie-Windows, a konkretnie w Ubuntu Linux. Myślę, że na Mac sprawa będzie wyglądać podobnie.

Nie do końca, bo na macOSa jest VS, a na Linuxa nie widziałem (jest wspomniane Mono albo VSC).

Wracając do tematu. Da się, a jak napotkasz ścianę to zawsze jest Parallels Desktop.

veneficus
Jest też Dualboot ,ale tego chciałbym uniknąć.
NN
PD działa nieporównywalnie lepiej od chociażby virtualboxa, więc nie trzeba się tego bać.
Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 3 godziny
1
andrzejlisek napisał(a):

Na Linux i OSX jest MonoDevelop, a także Xamarin Studio, nie wiem, czy to jest jeden i ten sam program pod różnymi nazwami, na Ubuntu pobrałem MonoDevelop z repozytorium wskazanego na https://www.monodevelop.com/download/ .

Nie ma już Xamarin Studio, teraz zmieniło nazwę na Visual Studio for Mac, ale to w zasadzie tylko rebranding, bo nie ma z "dużym" VS wiele wspólnego. Ale jest też Rider od JetBrains, można obejrzeć, bo całkiem fajny produkt.

  1. Co do .NET Core, to nie wypowiem się, bo tego nie znam, a nie chcę zgadywać, jak to wygląda i jak będzie działać.

To ja się wypowiem - .NET Core dla macOS działa identycznie jak dla Windows. ASP.NET Core działa dobrze, nie zauważyłem żadnych różnic pomiędzy Windows, Linuksem i macOS, o ile się dobrze robi (np. nie ustawia na stałe ścieżek w rodzaju C:\). Poprzednie wersje ASP.NET MVC działały pod Mono, ale nie zawsze perfekcyjnie. WebForms nie wiem, bo nie próbowałem.

veneficus
Na Macu planowałem właśnie używać Rider'a bo również używam go w domu ,ponieważ mam wersję profesjonalną bo status ucznia.
AN
Używałem VS 2012 lub 2013 (nie pamiętam, który z nich) i SharpDevelop (ten ostatni już nie rozwijany) i w żadnym z nich przy wyborze typu projektu nie ma typu .NET Core, teraz używam MonoDevelop i tam też nie ma typu NET Core. Raz gdzieś widziałem, że jak się robi projekt w VS, to można wybrać, czy .NET Framework, czy .NET Core. Czy istniejący projekt konsolowy, WinForms lub ASP.NET można łatwo przestawić na .NET Core? W jaki sposób?
Ktos
@andrzejlisek: "Łatwo" to zależy, to jest ogólnie temat na szerszą dyskusję. Popatrz na https://docs.microsoft.com/en-us/dotnet/core/porting/. Wybór między Core a klasycznym Frameworkiem na pewno jest od VS2017, o 2012/2013 już zdążyłem dawno temu zapomnieć :) W VS for Mac na pewno nie ma opcji pisania w klasycznym Frameworku, jest tylko Core. Ogólnie też ciekawie się zrobi dopiero w .NET 6, kiedy będzie oficjalnie cross-platformowy toolkit do graficznych aplikacji, MAUI.
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:5 miesięcy
  • Postów:2420
0

Podstawowa wada jest taka że wszystkie narzędzia GUI nie odpalą się na Linuxie. Mono co prawda próbowało zrobić WinForms ale słabo to działa. Narzędzia takie jak NuGet Package Explorer czy Azure NService Bus Explorer bo prostu się nie odpalą na Linuxie. Z pozytywów jeżeli ktoś jest masochistą i pracuje z PowerShell'em to jest on od niedawna dostępny na Linux'ach.

Rider jest bardzo dobrym IDE ale niestety wersji darmowej nie posiada (jedynie Trial), rozsądnym wyborem jest (jeszcze ciut niedorobione) VSCode ze swoim arsenałem wtyczek i rozszerzeń.

Jak ostatnio sprawdzałem to F# cały czas miał problemy z działaniem na Linuxach. Rok temu prosili jeszcze żeby sobie ręcznie skompilować całe środowisko za pomocą Mono. Może coś się poprawiło przez rok?

Jeżeli nie chcesz wychodzić poza Web'a i użyjesz VSCode to powinieneś daleko zajechać ale nigdy w tym setup'ie nie pracowałem na większych projektach.

PS. Użyłem słowa Linux ale jak wiadomo macOS jest Unixem i to co się odpala na Linuxie będzie działać i na macOS'ie


Holy sh*t, with every month serenityos.org gets better & better...
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:Wrocław
1

PowerShell dla masochistów, ale GUI nie. Ciekawa filozofia w programowaniu.

99xmarcin
Dzielę narzędzia na dobre i kulawe, taki Process Explorer z SysInternals dobre narzędzie, PowerShell kulawe...
somekind
Na czym ta kulawość polega?
99xmarcin
1) Wooooooooolne 2) https://marcin-chwedczuk.github.io/powershell-function-declaration-pitfall i masa innych denerwujących rzeczy w samym języku 3) problem z odpalaniem klasycznych binarek - nie wpisują się w filozofię przekazywania obiektów
somekind
No jest wolny, ale też nie służy do szybkich rzeczy. Drugiego problemu w ogóle nie rozumiem, bo autor tekstu sam go sobie stworzył. Składnię się poznaje zanim zacznie się pisać, wtedy nie ma takich "odkryć".
PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:171
0

A mógłby ktoś podać wydajność jakiegoś większego projektu na Macbooku w oparciu o .NET / Core? Bo jestem ciekawy jakby to wyglądało. Ktoś może ma prywatnie? :)

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)