2009-09-28 9 views
5

Ho ottenuto "La domanda che stai chiedendo appare soggettiva ed è probabile che venga chiusa". ma puoi rispondere SÌ o NO.Ti fideresti di mono come piattaforma per creare un avvio?

- modifica: le domande soggettive sono quelle che generalmente rispondono con un'opinione, quindi cosa c'è di male nel chiedere l'opinione della comunità? Inoltre, sto chiedendo per il tuo parere, la tua opinione non dipende dalla natura del mio progetto.

+2

Si potrebbe probabilmente riformulare questo per renderlo leggermente meno soggettivo. Cosa stai chiedendo davvero? Cosa stai cercando di costruire, e perché stai considerando mono? – Charles

+2

@Charles - no, lui _has_ per riformularlo per elevare la domanda a livello "soggettivo e argomentativo". Finora si qualifica a malapena "non una vera domanda" :-) – ChssPly76

+0

Per me questa domanda è troppo generica e non ha una risposta definita, che potrebbe (almeno in parte) essere risolta riformulandola. Così com'è, è come chiedere "Java è buono?", Che sicuramente si chiuderà. – cletus

risposta

7

Solo se hai intenzione di fare un affare di scimmia.

(modifica: nota ai downvoters, cerca cosa significa "mono" in spagnolo, e guarda anche la sua icona, cerca il tuo senso dell'umorismo, sospetto che tu possa averlo perso).

+0

+1 per il tentativo di umorismo. – MusiGenesis

+0

Cheers :) Credo che con il senno di poi avrebbe dovuto essere un commento. Oh bene. Folla dura –

+1

Anche * I * ha detto "umor * tentativo". *: P – MusiGenesis

11

Prendere un paio di esempi da "Companies using Mono":

  • Novell: Novell utilizza Mono per entrambi i client e server applicazioni:
    • ZENworks Linux Management
    • la sua ricerca desktop prodotto Beagle
    • gestione foto (F-Spot)
    • Server di groupware (Hula)
  • Electronic Arts lo ha utilizzato per alimentare Sims3.
  • Medsphere: Il software Medsphere OpenVista consente ai medici di accedere a informazioni complete sulla salute del paziente al punto di cura, e funziona sia su Windows che Linux, grazie a Mono.

Se è abbastanza buono per le aziende, come quelle, Mono può essere abbastanza buono per voi - dipende proprio quello che facciamo di essa. Se la tua startup è destinata a fallire, Mono non farà la differenza; se hai un grande concetto e una grande squadra, non dovrebbe importare molto se usi Mono, Visual Studio o qualunque altro IDE.

+0

Novell kinda sponsorizza Mono, quindi non è una sorpresa. – MusiGenesis

+6

Ma lo sponsorizzano perché funziona per loro, non perché stanno cercando di ingannare le persone su Stack Overflow. – jrockway

+2

@jrockway: non volevo dire che stanno cercando di indurre in errore qualcuno, ma barrare il fatto che Novell usi Mono è come annunciare il fatto che Sun usa Java. – MusiGenesis

0

Dipende davvero dall'applicazione. Se la tua applicazione sta in piedi o cade con mono, allora no.

Proprio come con le azioni, non si mettono tutti i soldi su uno, troppo rischioso.

+0

Stai dicendo che quando costruisci i tuoi progetti usi quante più tecnologie possibili, solo per diversificare?:) – user179997

+0

Penso che la sua metafora sia un po 'debole, ma fondamentalmente sta dicendo che non baserebbe la sua intera compagnia su Mono. Ad esempio, se il progetto Mono si dissolvesse completamente domani, la tua azienda sarebbe OK? – tster

+0

Quello che volevo dire era che la piattaforma non è così importante comunque l'applicazione è, quindi se ho un'idea per un'applicazione che gira su Windows .net e mono allora va bene ma non vorrei fare un'applicazione solo per mono (se poi tutta la mia attività dipendeva da questo). Il motivo per questo è che mono anche se una grande cosa sarà sempre uno o due passi dietro windows .net. –

2

Poiché si tratta di una domanda generale, darò uno scenario.

Ad esempio, si lavora e si utilizza .NET framework e si vende qualche tipo di prodotto. IMO: se si tratta di un prodotto basato su server, hai buone possibilità di avere clienti che vorranno eseguirlo su Linux.

  1. Si può dire a questi clienti di svenire.
  2. Puoi offrire loro la possibilità di eseguirlo tramite Mono.

Entrambe le opzioni presentano degli inconvenienti. Se scegli il numero 1, perderanno le vendite e quindi le entrate. Questo dipende da quanti dei tuoi potenziali clienti vogliono usare Linux, naturalmente.

La seconda opzione presenta degli svantaggi in quanto è necessario testare l'app sia in Mono che in .NET framework. Questo consuma tempo allo sviluppatore e il tempo è denaro. :)

Ma in ogni caso è una decisione che devi prendere e la decisione giusta è molto app e specifica del mercato.

+0

I clienti sono soldi, sarebbe un prodotto piuttosto zoppo se il reddito dei clienti Linux non superasse il costo del test, o persino il porting, del prodotto. O un prodotto estremamente di nicchia, ti darò questo. Anche i peep di Linux hanno più soldi per comprare i tuoi prodotti, perché siamo più intelligenti (e per lo più hanno un lavoro altamente retribuito nel settore IT!) –

0

Sì, perché anche se l'applicazione non funziona su Mono, funzionerà ancora bene in Windows. E l'ultima volta che ho controllato, c'erano almeno un paio di aziende di successo che scrivevano software per Windows.

+0

Vero, Windows è una piattaforma valida per un'azienda, tuttavia se sto pensando a mono è perché io vorrebbe una piattaforma opensource, sia perché credo in opensource sia perché non ho soldi. – user179997

+4

Bene, .Net è anche gratuito. E credere nell'open source è un buon modo per continuare a non avere soldi, sfortunatamente. – MusiGenesis

+0

Le startup possono ottenere diverse licenze Visual Studio, abbonamenti universali MSDN e licenze Office per 3 anni a circa £ 100. – MarkJ

0

Non avendo mai usato Mono, sarei molto interessato a sentire dalle persone un esempio di un prodotto che è adatto per essere costruito in Mono, e un esempio che non lo è.

+1

Qualsiasi applicazione che si basava su cose esterne all'ambiente .Net (ad esempio, chiamate API dell'OS, ad esempio) sarebbe meno adatta a Mono rispetto a qualcosa che era puro .Net. – MusiGenesis

+0

Quindi stai dicendo che non c'è niente all'interno del linguaggio o framework stesso che non sia supportato da/non adatto all'uso in Mono? – Ashby

+0

@Ashby: è corretto, anche se dipende da cosa intendi per "all'interno del linguaggio o del framework". Per esempio, InteropServices è innegabilmente parte di .Net, ma se stai facendo uso di questi all'interno della tua applicazione .Net, la tua app quasi certamente non funzionerà correttamente in Mono (dato che usi InteropServices per interagire con l'API di Windows, tra le altre cose). – MusiGenesis

1

Here è un recente post di Jeffrey Stedfast che potrebbe far luce su questa domanda. Sto sviluppando per Windows e continuerò a farlo indefinitamente, quindi non ho un cane in questa lotta.

0

Sono stato coinvolto in molte start-up. La tua domanda non può essere risolta da noi, perché è più simile a una domanda di gestione del rischio: se qualcosa non funziona, puoi ripararlo o fare una soluzione con un ragionevole sforzo? E quante volte ti aspetti che fallisca?

Per rispondere a questa domanda, è necessario sapere quali piattaforme si desidera supportare, come si intende utilizzare mono e quali competenze si hanno. Se si desidera supportare tutte le piattaforme, su cui viene eseguito mono, si incontreranno molti più problemi, ad esempio se si desidera supportare Mono su Ubuntu, ad esempio. Mono è Open Source, ma se vuoi correggere un bug all'interno di mono, devi avere le competenze e il tempo per fare esattamente questo.

Un'altra cosa è, quanto affidabile vuoi che sia il tuo prodotto? Se si guarda un prodotto come un registratore di dischi rigidi DVB-C di Samsung, a volte si blocca in modo anomalo. Anche una Playstation 3 si blocca di tanto in tanto. Se crei un server Internet, i crash possono spesso essere nascosti bene se il client prova dopo un timeout.

Se avessi bisogno di mono in una startup, e avrei almeno un programmatore esperto oltre a me fin dall'inizio, non avrei problemi con il picking mono come piattaforma.

2

Ho lavorato a Mono per un progetto Windows/Linux commerciale multipiattaforma.

  • Il nucleo di Mono (runtime) è piuttosto solido - è incredibile come si possibile compilare su Windows ed eseguire sul Linux.
  • MonoDevelop è piuttosto traballante. Speriamo che cambi, ma per ora è doloroso. Se tutto ciò che serve è il supporto per il runtime di Linux (non per Linux dev), ridurrai i tuoi problemi. Non vorrei codificare un considerevole progetto al suo interno.
  • Cross-test regolarmente. Non fare un lavoro di una settimana su Windows, poi scopri che devi riscrivere per Linux (o viceversa). Prova a creare e testare su entrambi gli ambienti ogni giorno.
  • Alcune cose .NET non funzionano su Mono. Ovviamente non si dovrebbe avviare un WinForms sull'app WPF e aspettarsi che funzioni. Pianifica le tue funzioni : non arrivare a metà del e trova che Mono non supporta una particolare tecnologia che ti serve.
  • Piano avanti e prova ogni singola lingua e la funzione framework che pensi sia la di cui avrai bisogno. Le librerie Mono sono incomplete e non è possibile presumere che lo abbia un quadro completo.
+1

Probabilmente dovrei qualificare i miei punti - penso che Mono sia un pezzo di sviluppo incredibile, e penso che MonoDevelop/sarà/sarà fantastico in futuro. Spero che nessuno abbia pensato che stavo sbagliando! – stusmith

+0

@stusmith: intendi "... non dovresti avviare una app WinForms ** o ** WPF ..."? Pensavo che almeno WinForms lavorasse in Mono? – MusiGenesis

+0

Non sono sicuro ... Immagino di aver pensato che non lo fosse ... ma questo sottolinea solo il punto: non dare per scontato, scoprire e scoprire presto. – stusmith

0

Sì, se si fa affidamento sullo stato corrente di Mono. No, se si affidano alle promesse future quale sarà Mono.

Con la prima opzione c'è ancora il rischio di dover passare a un'altra piattaforma prima o poi, perché Mono potrebbe ristagnare. Se i tuoi piani sono validi, lo stato dell'arte ti darà ancora abbastanza di una piattaforma per acquisire le risorse per il trasloco. Se non puoi assolutamente correre questo rischio, non hai trovato un avvio.

Problemi correlati