“ඔව්, .නෙට් යනු හරස් වේදිකාවක්” යැයි පැවසීමට මොනෝ නිතර භාවිතා වේ. එම ප්‍රකාශය කෙතරම් වලංගු ද? [වසා ඇත]


171

දී ඔබට කාලය මේ මොහොතේ දී .NET සහ ජාවා අතර ඔබගේ ව්යාපෘතිය සඳහා තෝරාගන්නේ කුමක්ද? "ඔබ සැමවිටම වින්ඩෝස් වෙත යොදවනු ඇත්ද?" නව වෙබ් ව්‍යාපෘතියක පෙරමුණ ගැනීමට ඇති වැදගත්ම තාක්ෂණික තීරණය වන අතර පිළිතුර “නැත” නම්, .NET වෙනුවට ජාවා නිර්දේශ කරමි.

ඉතා සුලභ ප්‍රති-තර්කයක් නම්, “අපට කවදා හෝ ලිනක්ස් / ඕඑස් එක්ස් / කුමක් හෝ ධාවනය කිරීමට අවශ්‍ය නම්, අපි මොනෝ ධාවනය කරන්නෙමු” 1 , එය මතුපිටින් ඉතා ප්‍රබල තර්කයක් වන නමුත් මම කිහිප දෙනෙකුට එකඟ නොවෙමි හේතු.

  • OpenJDK සහ JVM විසින් සපයන ලද සියලුම වෙළෙන්දන් විසින් දේවල් නිවැරදිව ක්‍රියාත්මක වන බව සහතික කරමින් නිල සන් TCK සම්මත කර ඇත. මොනෝ මයික්‍රොසොෆ්ට් ටීසීකේ සමත් වීම ගැන මම නොදනිමි.
  • මොනෝ .NET නිකුතුව පසුපස යයි. .NET මට්ටමේ දැනට පූර්ණ සහය දක්වන්නේ කුමක්ද?
  • සියලුම GUI මූලද්‍රව්‍ය (WinForms?) මොනෝ හි නිවැරදිව ක්‍රියා කරයිද?
  • නිල සැලැස්ම ලෙස ව්‍යාපාරිකයන්ට විවෘත මූලාශ්‍ර රාමු මත යැපීමට අවශ්‍ය නොවනු ඇත.

ඔරකල් විසින් ජාවා හි නව පාලනයත් සමඟ අනාගතය අනාරක්‍ෂිත බව මම දනිමි, නමුත් උදා: අයිබීඑම් ලිනක්ස් ඇතුළු බොහෝ වේදිකා සඳහා ජේඩීකේ සපයයි . ඒවා විවෘත මූලාශ්‍ර නොවේ.

ඉතින්, .NET- යෙදුම් සඳහා මොනෝ වලංගු ව්‍යාපාර උපාය මාර්ගයක් වන්නේ කුමන තත්වයන් යටතේද?


1 මාර්ක් එච් එය සාරාංශගත කළේ මෙසේ ය : “ මට .NET හි ලියා ඇති වින්ඩෝස් යෙදුමක් තිබේ නම්, එය මොනෝ මත ක්‍රියාත්මක විය යුතුය” , එසේ නොවේ නම් එය වලංගු හිමිකම් පෑමක් නොවේ - නමුත් මොනෝ එවැනි යෙදුම් වරාය කිරීමට උත්සාහ දරා ඇත සරලයි.



24
පැහැදිලිව කිවහොත් .NET යනු මයික්‍රොසොෆ්ට් විසින් සීඑල්අයි ක්‍රියාත්මක කිරීමයි. මොනෝ යනු සීඑල්අයි ක්‍රියාවට නැංවීමකි.
ChaosPandion

මෙය තමන්ගේම ප්‍රශ්නයකට වඩා පෙර ප්‍රශ්නයට පිළිතුරක් මෙන් පෙනේ. ඔබේ ප්‍රශ්නය තනිවම නැගී සිටීම සඳහා එය සංස්කරණය කිරීම ගැන සලකා බැලීමට මම යෝජනා කරමි.
වෝල්ටර්

2
@ වෝල්ටර්, සමස්ත කාරණය වන්නේ සුපුරුදු "ජාවා .NET" ආරෝපණ වලට වඩා හරස් වේදිකාවක් බව මම දනිමි, සහ පිළිතුරු හැකි උපරිම ප්‍රති-තර්ක ඇතුළත් කිරීමට මම ඒවා ලැයිස්තු ගත කරමි.

1
මෙය ප්‍රශ්නයට මාතෘකාවක් නොවේ. ව්‍යාපාර සැලසුම් වෙබ් අඩවියකට ගොස් ව්‍යාපාරයක් සඳහා සැබවින්ම තීරණාත්මක වන්නේ කුමක්දැයි බැලීමට නියැදි සැලසුම් කිහිපයක් පිරික්සන්න ... ටෙක් එක්ස් එදිරිව ටෙක් වයි, ෆෙඩෙක්ස් ෆෝඩ් එදිරිව ජීඑම් බෙදා හැරීමේ වෑන් සඳහා විවාදයට ලක් කිරීම තරම්ම වැදගත් ය.
රතු-අපිරිසිදු

Answers:


195

ස්පාර්කිගේ පිළිතුරට එය ලැබුණි, මට ටිකක් අනුපූරක වීමට ඉඩ දෙන්න.

".නෙට් යනු හරස් වේදිකාවකි" යනු නොපැහැදිලි ප්‍රකාශයකි, මන්ද එය මුලින් නිර්මාණය කරන ලද රාමුව සහ ලෝකය යන දෙකම වෙනස් වී පරිණාමය වී ඇත.

කෙටි පිළිතුර:

බලතල .NET සහ එහි ව්යුත්පන්න, පොදු භාෂාව යටිතල පහසුකම් සම්මත, හරස් වේදිකා වන අතර, ඔබ බහු වේදිකා ඔබේ කේතය යන්න කරන්න ඕන නම්, ඒ යටින් එන්ජින් ඔබ නිවැරදි වේදිකාව මත ඇති අයිතිය ඒපීඅයි භාවිත කිරීමට අදහස් ගැනීමට අවශ්ය ඉදිරිපත් කිරීමට එක් එක් වේදිකාවේ හොඳම අත්දැකීම.

දුරකථනයෙන් ප්‍රධාන රාමුවකට ඇති වෙනස්කම් ඉතා විශාල බැවින් සීඑල්අයි පවුල "වරක් ලියන්න, ඕනෑම තැනක ධාවනය කරන්න" ප්‍රවේශය උත්සාහ කර නැත. ඒ වෙනුවට එක් එක් වේදිකාවේ විශිෂ්ට අත්දැකීම් නිර්මාණය කිරීමට සංවර්ධකයින්ට නිවැරදි මෙවලම් ලබා දීම සඳහා වේදිකා විශේෂිත වූ API සහ ධාවන කාල අංගයන්ගෙන් යුත් විශ්වයක් බිහි වී තිබේ .

ඒ ගැන සිතන්න: ක්‍රමලේඛකයින් තවදුරටත් වින්ඩෝස් පරිගණක හෝ යුනික්ස් සේවාදායකයන් ඉලක්ක නොකරයි. වෙන කවරදාකටත් වඩා ලෝකය, පළාත් සභා, සූදු කොන්සෝල, බලවත් දුරකථන, සෙට්-ටොප් පෙට්ටි, විශාල සේවාදායකයන් සහ යන්ත්‍ර බෙදා හරින ලද පොකුරු වලින් වට වී තිබේ. සෑම වේදිකාවක් තුළම එක් ප්‍රමාණයේ ගැළපීමක් හුදෙක් කුඩා උපාංගවල ඉදිමී ඇති බවක් දැනෙන අතර විශාල පද්ධතිවල under න ශක්තියක් දැනේ .

මයික්‍රොසොෆ්ට් හි .NET Framework නිෂ්පාදනය හරස් වේදිකාවක් නොවේ, එය ක්‍රියාත්මක වන්නේ වින්ඩෝස් මත පමණි. වින්ඩෝස් දුරකථන 7, එක්ස් බොක්ස් 360 සහ සිල්වර් ලයිට් හරහා බ්‍රව්සර් වැනි වෙනත් පද්ධති මත ධාවනය වන මයික්‍රොසොෆ්ට් වෙතින් .NET රාමුවේ වෙනස්කම් ඇත, නමුත් ඒවා සියල්ලම තරමක් වෙනස් පැතිකඩයන් වේ.

අද ඔබට ප්‍රධාන ප්‍රධාන ධාරාවේ මෙහෙයුම් පද්ධතිය, දුරකථන, ජංගම උපාංග, කාවැද්දූ පද්ධතිය සහ .NET පදනම් කරගත් තාක්ෂණයන් සහිත සේවාදායකයක් ඉලක්ක කළ හැකිය. සෑම අවස්ථාවකම ඔබ භාවිතා කරන්නේ කුමන CLI ක්‍රියාත්මක කිරීමද යන්න පෙන්වන ලැයිස්තුවක් මෙන්න (මෙම ලැයිස්තුව විස්තීර්ණ නොවේ, නමුත් 99% ක්ම ආවරණය කළ යුතුය):

  • x86 සහ x86-64 පදනම් කරගත් පරිගණක පරිගණක:
    • වින්ඩෝස් ධාවනය කිරීම -> සාමාන්‍යයෙන් ඔබ .නෙට් හෝ සිල්වර් ලයිට් ධාවනය කරන නමුත් ඔබට මෙහි සම්පූර්ණ මොනෝ භාවිතා කළ හැකිය.
    • ලිනක්ස්, බීඑස්ඩී හෝ සොලාරිස් ධාවනය කරයි -> ඔබ සම්පූර්ණ මොනෝ හෝ සිල්වර් ලයිට් ධාවනය කරයි
    • MacOS X ධාවනය කරයි -> ඔබ සම්පූර්ණ මොනෝ හෝ සිල්වර් ලයිට් ධාවනය කරයි
    • ධාවනය වන ඇන්ඩ්‍රොයිඩ් -> ඔබ මොනෝ / ඇන්ඩ්‍රොයිඩ් උප කුලකය ධාවනය කරයි
  • ARM පරිගණක:
    • වින්ඩෝස් දුරකථන 7 ධාවනය කිරීම: ඔබ සංයුක්ත රාමු 2010 ධාවනය කරයි
    • වින්ඩෝස් 6.5 සහ ඊට වඩා පැරණි ධාවනය: ඔබ පැරණි සංයුක්ත රාමුව ක්‍රියාත්මක කරයි
    • ඇන්ඩ්‍රොයිඩ් උපාංග: ඔබ මොනෝ / ඇන්ඩ්‍රොයිඩ් ධාවනය කරයි
  • PowerPC පරිගණක:
    • ඔබ සම්පූර්ණ ලිනක්ස්, බීඑස්ඩී හෝ යුනික්ස් මෙහෙයුම් පද්ධති සඳහා සම්පූර්ණ මොනෝ ධාවනය කරයි
    • ඔබ PS3, Wii හෝ වෙනත් කාවැද්දූ පද්ධති සඳහා කාවැද්දූ මොනෝ ධාවනය කරයි.
    • XBox360 හි ඔබ CompactFramework ධාවනය කරයි
  • S390, S390x, Itanium, SPARC පරිගණක:
    • ඔයා සම්පූර්ණ මොනෝ දුවනවා
  • වෙනත් කාවැද්දූ මෙහෙයුම් පද්ධති:
    • ඔබ ජංගම පැතිකඩ සමඟ .NET මයික්‍රොෆ්‍රේම්වර්ක් හෝ මොනෝ ධාවනය කරයි.

ඔබගේ අවශ්‍යතා මත පදනම්ව ඉහත සඳහන් දෑ ප්‍රමාණවත්ද නැද්ද යන්න විය හැකිය. සෑම තැනකම ක්‍රියාත්මක වීමට ඔබට එකම ප්‍රභව කේතය ලැබෙන්නේ නැති තරම්ය. උදාහරණයක් ලෙස, XNA කේතය සෑම ඩෙස්ක්ටොප් එකකම ක්‍රියාත්මක නොවන අතර .NET ඩෙස්ක්ටොප් මෘදුකාංගය XNA හෝ දුරකථනය මත ක්‍රියාත්මක නොවේ. .NET රාමුවේ වෙනත් පැතිකඩයන් තුළ ක්‍රියාත්මක වීමට ඔබ සාමාන්‍යයෙන් ඔබේ කේතයේ වෙනස්කම් කළ යුතුය. මා දන්නා පැතිකඩ කිහිපයක් මෙන්න:

  • .නෙට් 4.0 පැතිකඩ
  • සිල්වර් ලයිට් පැතිකඩ
  • වින්ඩෝස් දුරකථන 7 පැතිකඩ
  • XBox360 පැතිකඩ
  • මොනෝ මූලික පැතිකඩ - .NET පැතිකඩ අනුගමනය කරන අතර එය ලිනක්ස්, මැකෝස් එක්ස්, සොලාරිස්, වින්ඩෝස් සහ බීඑස්ඩී වලින් ලබා ගත හැකිය.
  • .නෙට් ක්ෂුද්‍ර රාමුව
  • අයිෆෝන් පැතිකඩෙහි මොනෝ
  • ඇන්ඩ්‍රොයිඩ් පැතිකඩෙහි මොනෝ
  • PS3 පැතිකඩෙහි මොනෝ
  • වයි පැතිකඩෙහි මොනෝ
  • සඳ එළිය පැතිකඩ (සිල්වර් ලයිට් සමඟ අනුකූල වේ)
  • සඳ එළිය දිගු කළ පැතිකඩ (සිල්වර් ලයිට් + පූර්ණ .නෙට් 4 API ප්‍රවේශය)

එබැවින් එම එක් එක් පැතිකඩ ඇත්ත වශයෙන්ම තරමක් වෙනස් වන අතර මෙය නරක දෙයක් නොවේ. සෑම පැතිකඩක්ම එහි සත්කාරක වේදිකාවට ගැළපෙන පරිදි සකස් කර ඇති අතර අර්ථවත් වන ඒපීඅයි හෙළි කරයි, සහ තේරුමක් නැති ඒවා ඉවත් කරන්න.

උදාහරණයක් ලෙස, ධාරක බ්‍රව්සරය පාලනය කිරීම සඳහා සිල්වර් ලයිට් හි ඒපීඅයි දුරකථනයේ තේරුමක් නැත. තවද XNA හි සෙවනැලි සඳහා PC දෘඩාංග සඳහා සමාන සහයෝගයක් නොමැති බවට කිසිදු තේරුමක් නැත.

.NET යනු දෘඩාංගයේ සහ දේශීය වේදිකාවේ යටින් පවතින හැකියාවන්ගෙන් සංවර්ධකයා හුදකලා කිරීමට විසඳුමක් නොවන බව ඔබ තේරුම් ගත් විගසම ඔබට වඩා හොඳ වනු ඇත.

සමහර ඒපීඅයි සහ තොග විවිධ වේදිකාවලින් ලබා ගත හැකිය, උදාහරණයක් ලෙස වින්ඩෝස්, ලිනක්ස්, සොලාරිස්, මැකෝස් එක්ස් මත ඒඑස්පී නෙට් භාවිතා කළ හැකිය. මයික්‍රොසොෆ්ට් හි එක්ස්බොක්ස් හෝ වින්ඩෝස් ෆෝන් 7 වැනි වේදිකා වල ASP.NET ලබා ගත නොහැකි අතර මොනෝ වයි හෝ අයිෆෝන් වැනි මොනෝ සහාය දක්වන වෙනත් වේදිකාවලද සහාය නොදක්වයි.

පහත තොරතුරු නිවැරදි වන්නේ නොවැම්බර් 21 වන විට පමණක් වන අතර මොනෝ ලෝකයේ බොහෝ දේ වෙනස් වනු ඇත.

එකම මූලධර්ම වෙනත් කොටස් වලට යොදා ගත හැකිය, සම්පූර්ණ ලැයිස්තුවකට නිසි වගුවක් අවශ්‍ය වනු ඇත, එය මෙහි ඉදිරිපත් කරන්නේ කෙසේද යන්න පිළිබඳව මට කිසිදු අදහසක් නැත, නමුත් මෙහි විශේෂිත වේදිකාවක නොතිබිය හැකි තාක්ෂණයන් ලැයිස්තුවක් ඇත. මෙහි ලැයිස්තුගත කර නොමැති කිසිවක් තිබේ යැයි ඔබට උපකල්පනය කළ හැකිය (මට මග හැරුණු දේවල් සඳහා මට සංස්කරණ එවීමට නිදහස් වන්න):

මූලික ධාවන එන්ජිම [සෑම තැනකම]

  • [WP7, CF, Xbox, MonoTouch, PS3 හැර සෑම තැනකම] සහාය දක්වන්න.
  • CPU SIMD සහාය [ලිනක්ස්, බීඑස්ඩී, සොලාරිස්, මැකෝස් එක්ස්; ඉක්මනින් PS3, MonoTouch සහ MonoDroid]
  • අඛණ්ඩව - Mono.Tasklets [ලිනක්ස්, බීඑස්ඩී, සොලාරිස්, මැකෝස්, පීඑස් 3, වයි]
  • එකලස් කිරීම [වින්ඩෝස් පමණි]
  • වීඑම් එන්නත් කිරීම [ලිනක්ස්, බීඑස්ඩී, මැකෝස් එක්ස්, සොලාරිස්]
  • ඩීඑල්ආර් [වින්ඩෝස්, ලිනක්ස්, මැකෝස් එක්ස්, සොලාරිස්, මොනෝ ඩ්‍රොයිඩ්]
  • ජනක විද්‍යාව [PS3 සහ iPhone වල සමහර සීමාවන්].

භාෂා

  • සී # 4 [සෑම තැනකම]
  • සී # සම්පාදකය සේවාවක් ලෙස (ලිනක්ස්, මැකෝස්, සොලාරිස්, බීඑස්ඩී, ඇන්ඩ්‍රොයිඩ්)
  • IronRuby [සෑම තැනකම, WP7, CF, Xbox, MonoTouch, PS3 ක්‍රියාත්මක කරන්න]
  • අයන්පයිතන් [සෑම තැනකම, ක්‍රියාත්මක කරන්න WP7, CF, Xbox, MonoTouch, PS3]
  • F # [සෑම තැනකම, WP7, CF, Xbox, MonoTouch, PS3 ක්‍රියාත්මක කරන්න]

සේවාදායක කොටස්

  • ASP.NET [වින්ඩෝස්, ලිනක්ස්, මැකෝස්, බීඑස්ඩී, සොලාරිස්]
  • ADO.NET [සෑම තැනකම]
  • SQL වෙත LINQ [සෑම තැනකම]
  • ආයතන රාමුව [සෑම තැනකම]
  • මූලික XML තොගය [සෑම තැනකම]
    • XML අනුක්‍රමිකකරණය [WP7, CF, Xbox හැර සෑම තැනකම)
  • LINQ සිට XML දක්වා (සෑම තැනකම)
  • System.Json [සිල්වර් ලයිට්, ලිනක්ස්, මැකෝස්, මොනෝ ටච්, මොනෝ ඩ්‍රොයිඩ්]
  • System.Messaging [වින්ඩෝස්; ලිනක්ස්, මැකෝස් සහ සොලාරිස් සඳහා රැබිට්එම්කූ අවශ්‍යයි]
  • .නෙට් 1 ව්‍යවසාය සේවා [වින්ඩෝස් පමණි]
  • WCF [වින්ඩෝස් මත සම්පූර්ණයි; සිල්වර් ලයිට්, සොලාරිස්, මැකෝස්, ලිනක්ස්, මොනෝ ටච්, මොනෝ ඩ්‍රොයිඩ් මත කුඩා උප කුලකයක්]
  • වින්ඩෝස් කාර්ය ප්‍රවාහය [වින්ඩෝස් පමණි]
  • කාඩ් අවකාශයේ අනන්‍යතාවය [වින්ඩෝස් පමණි]

GUI තොග

  • සිල්වර් ලයිට් (වින්ඩෝස්, මැක්, ලිනක්ස් - සඳ එළිය සමඟ)
  • WPF (වින්ඩෝස් පමණි)
  • Gtk # (වින්ඩෝස්, මැක්, ලිනක්ස්, බීඑස්ඩී)
  • Windows.Forms (Windows, Mac, Linux, BSD)
  • මොනෝමැක් - ස්වදේශීය මැක් අනුකලනය (මැක් පමණි)
  • MonoTouch - ස්වදේශීය iPhone ඒකාබද්ධ කිරීම (iPhone / iPad පමණි)
  • මොනෝ ඩ්‍රොයිඩ් - ස්වදේශීය ඇන්ඩ්‍රොයිඩ් ඒකාබද්ධ කිරීම (ඇන්ඩ්‍රොයිඩ් සඳහා පමණි)
  • මාධ්‍ය මධ්‍යස්ථාන API - වින්ඩෝස් පමණි
  • කැළඹිලි (වින්ඩෝස් සහ ලිනක්ස්)

ග්‍රැෆික් පුස්තකාල

  • GDI + (වින්ඩෝස්, ලිනක්ස්, බීඑස්ඩී, මැකෝස්)
  • ක්වාර්ට්ස් (මැකෝස් එක්ස්, අයිෆෝන්, අයිපෑඩ්)
  • කයිරෝ (වින්ඩෝස්, ලිනක්ස්, බීඑස්ඩී, මැකෝස්, අයිෆෝන්, අයිපෑඩ්, මැකෝස් එක්ස්, පීඑස් 3, වයි)

මොනෝ පුස්තකාල - හරස් වේදිකාව, .NET හි භාවිතා කළ හැකි නමුත් අතින් ගොඩනැගීම අවශ්‍ය වේ

  • සී # 4 සම්පාදකය සේවාවක් ලෙස
  • සිසිල් - සීඅයිඑල් හැසිරවීම, කාර්ය ප්‍රවාහය, සීඅයිඑල් හි උපකරණ, ලින්කර්
  • පුස්තකාල ලිහිල් කරන්න
  • මොනෝ ඩේටා. * දත්ත සමුදාය සපයන්නන්
  • සම්පුර්ණ System.Xaml (.NET තොගය ලබා නොදෙන සැකසුම් වල භාවිතා කිරීම සඳහා)

මොනෝ ටච් යනු අයිෆෝන් මත ධාවනය වන මොනෝ ය; මොනෝ ඩ්‍රොයිඩ් යනු ඇන්ඩ්‍රොයිඩ් මත ධාවනය වන මොනෝ ය; PS3 සහ Wii වරායන් ලබා ගත හැක්කේ සෝනි සහ නින්ටෙන්ඩෝ සුදුසුකම් ලත් සංවර්ධකයින්ට පමණි.

විධිමත් නොවීම ගැන මම සමාව ඉල්ලමි.


2
අයිබීඑම්, ඔබ මෙය කියවන්නේ නම්, මම කැමතියි AIX (හෝ AS / 400) මිගෙල්ස් ලැයිස්තුවේ සිටීමට !!

4
නිශ්චිත, අධිකාරී (sp?) පිළිතුරකට ස්තූතියි!

10
අයිබීඑම් විසින් අවම වශයෙන් මොනෝ වරායන් දෙකක් AIX වෙත කර ඇති බව අපි දනිමු, නමුත් වරාය කළ කණ්ඩායම්වලට වෙනස්කම් නැවත නිකුත් කිරීමට ඉඩ නොදුනි.
miguel.de.icaza

3
+1 - මේ පුද්ගලයා මොනෝ ව්‍යාපෘතියේ වැඩ කළ යුතුයි! කරුණාකර ඇමක් ගන්න එපා;)
ජෙෆෝ

1
E ජෙෆෝ: මේ මිනිහා මොනෝගේ නිර්මාතෘ ;-)
සෝල්

115

පළමුව, ඔබ පොදු භාෂා යටිතල පහසුකම් (විවෘත ප්‍රමිතිය) සහ .නෙට් (මයික්‍රොසොෆ්ට් විසින් එම ප්‍රමිතිය ක්‍රියාත්මක කිරීම) අතර වෙනසක් කළ යුතුය. මොනෝ යනු සීඑල්අයි හි ක්‍රියාත්මක කිරීමක් වන අතර එය කිසි විටෙකත් “අතේ ගෙන යා හැකි .නෙට්” යැයි කියා නැත. එසේම, C # භාෂාව විවෘත ප්‍රමිතියක් වන අතර එය .NET සමඟ තදින් බැඳී නොමැත.

ක්‍රියාත්මක කිරීම අනුකූලදැයි වලංගු කිරීමට මයික්‍රොසොෆ්ට් සතුව කිසියම් මෙවලමක් තිබේදැයි මම නොදනිමි, නමුත් ඔවුන් එසේ කරන්නේ නම්, මට විශ්වාසයි මොනෝ යාලුවනේ එය ඇති අතර එය භාවිතා කරන්න.

මොනෝ .නෙට් පිටුපසින් ගමන් කරයි, නමුත් යන්තම්. මොනෝට C # 4.0 කේතය ධාවනය කළ හැකිය (වත්මන් .NET අනුවාදය). එසේම, මයික්‍රොසොෆ්ට් විසින් මෑතකදී සියලුම ඩීඑල්ආර් කේත සහ පුස්තකාල විවෘත මූලාශ්‍රයක් (අපාචේ 2.0 බලපත්‍රය යටතේ) නිපදවා ඇති අතර, එමඟින් මොනෝට අයන්පයිතන්, අයන් රූබි සහ එෆ් # වැනි භාෂා භාවිතා කිරීමට අවස්ථාව ලබා දී ඇත්තේ පසුගිය සතියේ පමණි. මීට අමතරව, මයික්‍රොසොෆ්ට් නිතිපතා .NET හි ඉදිරියට එන විශේෂාංග වල සීටීපී නිකුත් කරයි, එමඟින් මොනෝ සංවර්ධකයින්ට වර්තමාන නිකුතු සංස්කරණ සමඟ යාවත්කාලීනව සිටීමට ඉඩ ලබා දේ.

.NET හි මෙවලම් සහ දිගු ගණනාවක් තිබේ, උදාහරණයක් ලෙස කේත කොන්ත්‍රාත්තු. මේවා සෑම විටම මොනෝ තුළ සම්පූර්ණයෙන්ම ක්‍රියාත්මක නොවේ. (දැනට, අවශ්‍ය කොන්ත්‍රාත්තු සඳහා අර්ධ කොන්ත්‍රාත් වලංගු කරන්නෙකු ඇතැයි මම සිතමි). කෙසේ වෙතත් .NET යෙදුම් වල මේවා බහුලව භාවිතා නොවේ, නමුත් ඒවායේ ජනප්‍රියතාවය වැඩි වුවහොත් ඒවා මොනෝ තුළ ක්‍රියාත්මක වන වේගයද වැඩිවේ.

WinForms (සම්පූර්ණයෙන්ම) අතේ ගෙන යා නොහැක. ඒවා .NET විශේෂිත වන අතර CLI හි කොටසක් නොවේ. සීඑල්අයි කිසිදු විජට් කට්ටලයක් නියම නොකරයි. හරස් වේදිකා විජට් කට්ටල ඇතත් (GTK # සහ Silverlight). ඔබ අතේ ගෙන යා හැකි බව මනසේ තබාගෙන යෙදුමක් ලියන්නේ නම්, ඔබ වින්ෆෝම්ස් / ඩබ්ලිව්පීඑෆ් වෙනුවට මේවායින් එකක් භාවිතා කරනු ඇත. මීට අමතරව, මොනෝ විසින් වින්ෆෝම්ස් ඒපීඅයි සඳහා තුනී ආවරණයක් සපයයි - එමඟින් දැනට පවතින වින්ෆෝම් යෙදුම් වඩාත් පහසුවෙන් ජීටීකේ # වෙත ගෙනයාමට හැකි වේ (සම්පූර්ණ නැවත ලිවීමකින් තොරව).

මොනෝ විසින් දැනට පවතින .නෙට් යෙදුමක් ගෙන එහි අතේ ගෙන යා හැකි බව ඔබට පැවසිය හැකි මොනෝ සංක්‍රමණ විශ්ලේෂකය (මෝමා) මෙවලමක් සපයයි. (උදා: භාවිතා කළ නොහැකි පුස්තකාල හඳුනා ගන්න, පී / ආයාචනා යනාදිය).

විවෘත මූලාශ්‍රය මත යැපීමට අකමැති ව්‍යාපාර සඳහා - මොනෝ නැවත බලපත්‍ර ලබා ගත හැකිය. මොනෝ වෙත එකතු කරන ලද කේතයේ හිමිකාරිත්වය නවකතාවට භාර දී ඇති අතර, සාමාන්‍ය LGPL බලපත්‍රයට අමතරව වෙනත් ආකාරයකින් එය බලපත්‍ර ලබා දිය හැකිය (කෙසේ වෙතත් එය ඉතා සුළු සීමාවන් ඇත).

එබැවින් ".NET අතේ ගෙන යා හැකි" හිමිකම් පෑම සඳහා, මම සිතන්නේ ඔබ බිම් මට්ටමේ සිට කේතයක් ලියන්නේ නම් සහ රාමුව සමඟ අතේ ගෙන යා හැකි ගැටළු පිළිබඳව දැනුවත් නම් මෙය වලංගු ප්‍රකාශයක් විය හැකි බවයි. "මට .NET හි ලියා ඇති වින්ඩෝස් යෙදුමක් තිබේ නම්, එය මොනෝ මත ධාවනය විය යුතුය" යන ප්‍රකාශය නම්, එය වලංගු හිමිකම් පෑමක් නොවේ - නමුත් මොනෝ එවැනි යෙදුම් වරාය කිරීම සරල කිරීමට උත්සාහ දරා ඇත.


20
අවසාන ඡේදය සඳහා +1.
ඩේවි 8

4
the C# language is an open standard, and is not strictly tied to .NET.හා C# 4.0 code (current .NET version)පරස්පර විරෝධී වේ
Jader ඩයස්

9
ඔබගේ අවසාන කරුණ හොඳ එකක් වන අතර එය ජාවාටද අදාළ වේ. ඔබ ජාවා හි ඔබේ යෙදුම කේතනය කළ පමණින් එය ජාවාට සහය දක්වන සෑම වේදිකාවක් සඳහාම ස්වයංක්‍රීයව අතේ ගෙන යා හැකි බවක් අදහස් නොවේ. විශේෂයෙන් වඩාත් සංකීර්ණ ව්‍යාපෘති සඳහා, බොහෝ ජාවා යෙදුම් වලට වේදිකා විශේෂිත කේත ඇති බව ඔබට පෙනේ.
ඩීන් හාඩිං

5
80 user8057: Winforms 100% ක් ක්‍රියාත්මක වේද? ඇත්තටම? RichTextBox සංරචකය බලන්න. රුක් සංරචකය මත ඇදගෙන යාමේ ක්‍රියාකාරිත්වය පරීක්ෂා කරන්න. පැද්දීම 100% හරස් වේදිකාවක් වන අතර, අනෙක් අතට, එයින් අදහස් කරන්නේ සියලු වේදිකාවල උරා බොන බවයි.
ඩෑන් රොසෙන්ස්ටාර්ක්

2
Ar යාර්: LOL සඳහා “එයින් අදහස් කරන්නේ සියලු වේදිකාවලට උරා බොන බවයි” :-)
Wizard79

14

ලක්ෂ්‍යය අනුව:

  • OpenJDK සහ JVM විසින් සපයන ලද සියලුම වෙළෙන්දන් විසින් දේවල් නිවැරදිව ක්‍රියාත්මක වන බව සහතික කරමින් නිල සන් TCK සම්මත කර ඇත. මොනෝ මයික්‍රොසොෆ්ට් ටීසීකේ සමත් වීම ගැන මම නොදනිමි.
    මයික්‍රොසොෆ්ට් සීඑල්ආර් අනුකූල වන පිරිවිතරයක් තිබේ. මොනෝ යනු මයික්‍රොසොෆ්ට් හි සීඑල්ආර් හි ක්ලෝනයක් නොව එම පිරිවිතරයන් ක්‍රියාත්මක කිරීමකි. එක් අතකින්, මෙය ඊටත් වඩා නොගැලපීමකට තුඩු දෙන අවස්ථාවක් තිබේ. ප්රායෝගිකව, මෙය මොනෝ සඳහා ඉතා හොඳින් ක්රියා කර ඇත.
  • මොනෝ .NET නිකුතුව පසුපස යයි. .NET මට්ටමේ දැනට පූර්ණ සහය දක්වන්නේ කුමක්ද?
    .Net සඳහා වන ප්‍රලේඛනය සත්‍ය නිකුතුවට පෙරාතුව , නිල මයික්‍රොසොෆ්ට් නිකුතුවට පෙර .Net 4 සඳහා මොනෝ සැබවින්ම සම්පූර්ණ කර ඇත (බීටා නිකුතුවක් නොවේ) . මීට අමතරව, මොනෝ විසින් සහාය නොදක්වන දේ ලේඛනගත කිරීමේ ඉතා හොඳ කාර්යයක් ඉටු කරන අතර, නොගැලපීම සඳහා විභවයන් ඇති ස්ථාන සොයා ගැනීමට ඔබට උදව් කිරීමට දැනට පවතින ව්‍යාපෘතියට එරෙහිව ක්‍රියාත්මක කළ හැකි මෙවලම් කිහිපයක් ඔවුන් සතුව ඇත.
  • සියලුම GUI මූලද්‍රව්‍ය (WinForms?) මොනෝ හි නිවැරදිව ක්‍රියා කරයිද?
    වින්ෆෝම් වල අතිමහත් බහුතරය හොඳින් ක්‍රියාත්මක වේ. WPF, එතරම් නොවේ. ජාවා සඳහාද එය සත්‍ය බව මම අසා ඇත්තෙමි - බොහෝ දියුණු විජට් / ගු මෙවලම් කට්ටල සියලුම වේදිකාවල සහය නොදක්වයි.
  • නිල සැලැස්ම ලෙස ව්‍යාපාරිකයන්ට විවෘත මූලාශ්‍ර රාමු මත යැපීමට අවශ්‍ය නොවනු ඇත.
    එය එසේ නම්, ඔවුන් අනිවාර්යයෙන්ම ජාවා සමඟ නොයනු ඇත, එසේ නම්, එය A සැලැස්මේ දී විවෘත මූලාශ්‍ර රාමුවක් ඊටත් වඩා ඉහළින් තබයි.

සාරාංශයක් ලෙස, ඔබට දැන් හරස් වේදිකා යෙදුමක් තැනීමට අවශ්‍ය නම්, ගමනේ සිට මොනෝ සමඟ ආරම්භ කර එය ඔබේ රාමුව ලෙස භාවිතා කිරීමේ කිසිදු වරදක් නැත. ඔබට අවශ්‍ය නම් වින්ඩෝස් මත මොනෝ පවා යෙදවිය හැකිය.

අනෙක් අතට, ඔබ අද වින්ඩෝස් යෙදුමක් තැනීමට බලා සිටින්නේ අනාගතයේ කිසියම් නොදන්නා අවස්ථාවක හරස් වේදිකාවක් විය යුතු යැයි ඔබ සිතන්නේ නම් , ඔබට බොහෝ විට අවශ්‍ය වන්නේ දේශීය වින්ඩෝස් විජට් සහ මෙවලම් සමඟ ය. ජෙට් වලට වඩා නෙට් මෙහි වඩා හොඳ කාර්යයක් ඉටු කරන අතර මොනෝ යනු මෙම තත්වය තුළ සම්පූර්ණයෙන්ම පිළිගත හැකි වැටීමකි.

වෙනත් වචන වලින් කිවහොත්: ඔව්, ඔබේ ප්‍රශ්නයට වැදගත් වන සෑම ආකාරයකින්ම හරස් වේදිකාවක් තිබේ නම්. නැත, මොනෝ සෑම .නෙට් වැඩසටහනක්ම ක්‍රියාත්මක නොකරනු ඇත, නමුත් ඔබේ ප්‍රශ්නය නව ව්‍යාපෘතියක සන්දර්භය තුළ වේ. .Net සඳහා සංවර්ධනය කරනවාට වඩා මොනෝ සඳහා සංවර්ධනය කිරීම ගැන ඔබ සිතන්නේ නම්, නව ව්‍යාපෘති කරදරයකින් තොරව තබා ගැනීමට සහ අනුකූලතා ගැටළු මඟහරවා ගැනීමට වැඩි වැඩ කොටසක් අවශ්‍ය නොවේ.

සියල්ලටම වඩා, මෙය මුලින් ම වැරදි ප්‍රශ්නය යැයි මම සිතමි. ඔබ මුල සිටම නව සංවර්ධන කණ්ඩායමක් ගොඩනඟන්නේ නැත්නම්, ඔබ ආරම්භ කරන්නේ එක් ප්‍රදේශයක හෝ වෙනත් ප්‍රදේශයක විශේෂ ise දැනුම ඇති ක්‍රමලේඛකයින්ගෙනි. ඔබේ ක්‍රමලේඛකයින් දැනටමත් දන්නා දේ සමඟ යාමෙන් ඔබේ හොඳම ප්‍රති results ල ලබා ගත හැකිය. හරස්-වේදිකා යෙදුමක් තැනීම තරම් වැදගත් යැයි සිතිය හැකිය, ඔබ සතුව ජාවා අත්දැකීම් නොමැති .නෙට් ක්‍රමලේඛකයින්ගෙන් පිරිපුන් කණ්ඩායමක් සිටී නම්, ඔබ ඔවුන්ට වෙඩි තැබීමට හෝ ඔබේ ඊළඟ ව්‍යාපෘතිය සඳහා ජාවා ඉගෙන ගැනීමට පෙළඹවීමට ඉඩක් නැත. ඔබ සතුව ජාවා ක්‍රමලේඛකයින්ගෙන් පිරුණු කණ්ඩායමක් සිටී නම්, ඔබ ඔවුන්ගෙන් ඉගෙන ගැනීමට ඉල්ලන්නේ නැත. වින්ඩෝස් පමණක් ව්‍යාපෘතියක් සඳහා. එක්කෝ ගෙඩි වේ.


“විවෘත මූලාශ්‍ර” ගැටළුව පැහැදිලි කිරීම සඳහා: මම සිතුවේ විවෘත මූලාශ්‍ර ව්‍යාපෘතියක් සුදුසු ව්‍යාපාර ආයතනයක පිටුබලය නොලබන ලෙස මිස ජීපීඑල් මූලාශ්‍ර කේතයක් ඇති ව්‍යාපාරයක් ලෙස නොවේ.

3
නොවෙල් “සුදුසු ව්‍යාපාරික ආයතනයක්” නොවේද?
svick

v ස්වික් - මම හිතන්නේ නැහැ “සුදුසු” යතුරු ලියනය කියලා. ව්‍යාපෘතියේ අනුග්‍රාහකයන් සම්බන්ධ නීතිමය ගැටලු ගැන ඔහු කනස්සල්ලට පත්ව සිටී.
ජොයෙල් කොහූර්න්

OrThorbj ව්‍යාපාරික දෘෂ්ටි කෝණයකින්, ජේසීපී වැනි වියුක්ත ආයතනයකට වඩා නවෙල් වැනි ශක්තිමත් සහායක ආයතනයක් තිබීම හොඳය.
ජොයෙල් කොහූර්න්

@ user8057 අහ්, මම කවදාවත් ඒ වචනය අසා නැත. එය අමුතු අක්ෂර වින්‍යාසයක් මෙන් පෙනුනි.
svick

11

මම මොනෝ සමඟ වැඩ කර ඇති අතර, විවෘත මූලාශ්‍රයක් වන මයික්‍රොසොෆ්ට් වෙතින් සෘජුවම සහාය නොදක්වන විකල්ප වේදිකාවක් සමඟ ඔබට ලබා ගත හැකි තරම් හොඳ යැයි මම කියමි. ඔබ භාවිතා පහසු විය හැකි නම් විකල්ප විවෘත මූලාශ්ර Clojure හෝ Scala වැනි වේදිකාව,, ඔබට මීට Mono භාවිතා කිරීම පහසු විය හැක.

මොනෝ විසින් සහාය දක්වන .NET මට්ටම සෑම විටම මොනෝ මාර්ග සිතියම් පිටුවෙන් සොයාගත හැකිය .

සියලුම GUI අංග ක්‍රියාත්මක වේද? මා දන්නා තරමින්, මම සෑම අංගයක්ම පරිපූර්ණ ලෙස උත්සාහ කර නැතත්, ඔවුන් එසේ කරයි.

මොනෝ .NET ට සමානද? නැත. මෙහි සුළු හා සුළු වශයෙන් සුළු වෙනස් කිරීම් අවශ්‍ය වනු ඇතැයි මම සැක කරමි. උදාහරණයක් ලෙස, ඔබට දැනට එය සමඟ ව්‍යාපාර රාමුව ක්‍රියාත්මක කළ නොහැක.


ඇත්ත වශයෙන්ම මොනෝ නිශ්චිත ක්ලෝනයක් නොවන නමුත් නව ව්‍යාපෘති ආරම්භ කිරීමේදී එය ඉතා ශක්‍ය විකල්පයකි.
ChaosPandion

ඔබ තුළ ඇති චරිතය 美 me3i ද? from සිට?
ජේඩර් ඩයස්

1
@Jader, මුළුමනින්ම අසම්බන්ධිත - සහ නමුත් ලස්සන සඳහා චීන චරිතය තියෙන්නේ美国(ඒකාබද්ධ විට මාර්ගයෙන් එක්සත් ජනපදය, ද වචනාර්ථයෙන් ලස්සන රටක් අදහස්)
aggietech

AFAIK Clojure සහ Scala යනු වේදිකා නොවන භාෂා වේ. (නැවතත් AFAIK) ජාවා ධාවනය කළ හැකි ඕනෑම JVM ක්‍රියාත්මක කිරීමක් මත පරිමාණය ක්‍රියාත්මක විය යුතුය.
ජෝර්ජියෝ

9

ඉලක්කයක් ලෙස .NET / mono විශ්වය ඉතා වේගයෙන් ගමන් කරයි .

සෑම වසර කිහිපයකට වරක් මයික්‍රොසොෆ්ට් .නෙට් අවට ඇති භාෂාව, ධාවන කාලය සහ යටිතල පහසුකම් පිළිබඳ බලවත් වෙනස්කම් හා නව්‍යකරණයන් ඉදිරිපත් කරයි. උදාහරණයක් ලෙස: ජෙනරික්ස්, ලින්ක්, ඩීඑල්ආර්, එන්ටිටි රාමුව - දෘශ්‍ය ස්ටුඩියෝ හි සෑම නව සංශෝධනයක් සමඟම, සාමාන්‍යයෙන් එය ඉලක්ක කරගත් රාමුවේ විශේෂාංග කට්ටලය සහ ප්‍රයෝජනයෙහි සැලකිය යුතු වැඩි වීමක් දක්නට ලැබේ.

රාමුවේ නිරන්තර වැඩිදියුණු කිරීම සාදරයෙන් පිළිගන්නා අතර, ඔබට විවිධ වේදිකා හරහා අනුකූලතාවයක් අවශ්‍ය නම් එය ද ගැටළු සහගතය. Red Hat Enterprise Linux වැනි දිගුකාලීන ආධාරක වේදිකා නව තාක්‍ෂණය භාවිතා කිරීම සම්බන්ධයෙන් ග්ලැසියර ලෙස මන්දගාමී වන අතර ඕනෑම අවස්ථාවක, මොනෝ වේදිකාවේ සැලකිය යුතු දියුණුවක් පසුගිය මාස කිහිපය තුළ සිදුවී ඇත. එබැවින් සිසිල් ළමයින් ගොඩනඟන දේවල් ක්‍රියාත්මක කිරීමට ඔබට අවශ්‍ය නම්, ඔබට මුල සිටම මොනෝ සම්පාදනය කර ඔබේම පැච් සහ යාවත්කාලීන කිරීම් කළමනාකරණය කිරීමට සිදුවේ. එය සිසිල් නොවේ.

ජාවා, අනෙක් අතට, කිඩ්ඩි තටාකයක් මෙන් එකතැන පල් වේ. පේටන්ට් බලපත්‍ර නඩු සඳහා ජාවා අවශ්‍ය වූ සමාගමක් විසින් දැන් එය අයිති කර ගෙන ඇති හෙයින්, අනාගතයේ දී භාෂාවේ හෝ ධාවන වේලාවේ හඳුනාගත හැකි වෙනස්කම් සිදු නොවන බව ඔබට තරයේ විශ්වාස කළ හැකිය. ජාවා ෆෝර්ට්‍රාන් තරම් ස්ථාවර වේදිකාවක්. ඔබ කිසියම් ආකාරයක වැඩිදියුණු කිරීමක් අපේක්ෂා කරන්නේ නම් එය එතරම් හොඳ නැත, නමුත් ඔබ ව්‍යවසාය යෙදුමක් යෙදවීමට උත්සාහ කරන්නේ නම් එතරම් නරක නැත.


හාස්‍යජනක ලෙස ඔබ ෆෝට්රාන් ගැන සඳහන් කරයි, එය නිරන්තරයෙන් පරිණාමය වෙමින් පවතින්නේ සංක්ෂිප්තභාවය සහ සමාන්තරකරණය මෙන්ම ඕඕපී මූලධර්ම මත ය. ඉතින් ඔව් ෆෝට්රාන් 77 ස්ථාවරයි, නමුත් ෆෝට්රාන් 90 එළියට ආ බැවින් සෑම සංශෝධනයක්ම හොඳ අතට හැරේ. ෆෝට්රාන් 2008 යනු නූතන භාෂාවකි.
ja72

4
.නෙට් / සී # 1.0 ඉතා හොඳ ජාවා ක්ලෝනයක් බව මම කියමි, නමුත් .නෙට් 2.0 වන විට වේදිකා දෙක අතර හොඳ විශේෂාංග සමානාත්මතාවයක් පැවතුනි. එතැන් සිට .නෙට් 3.5 / සී # 3 වෙත යන මයික්‍රොසොෆ්ට් වේදිකාව ජාවා බොහෝ ප්‍රදේශවල අතහැර දමා ඇති අතර ගතික ටයිප් කිරීම සහ අසින්ක් සමගාමී මුදල් වැනි ඉදිරියට එන විශේෂාංග සමඟින් එය අඛණ්ඩව ඉදිරියට යයි. එය එක් විශාල හේතුවක් විය .නෙට් හට එතරම් වේගයෙන් ගමන් කළ හැකි වන්නේ ජාවා විසින් ඉතිරි කර ඇති මාවතයි. ඔරකල්ට ජාවා ඉදිරියට ගෙන යාමට අවශ්‍ය නම් ඔවුන්ට දැන් මයික්‍රොසොෆ්ට් විසින් ඉතිරි කර ඇති සමාන මාවත ඉක්මනින් අනුගමනය කළ හැකිය.
ජොයෙල් කොහූර්න්

".NET / mono විශ්වය ඉතා වේගයෙන් ගමන් කරයි". උත්ප‍්‍රාසාත්මක ලෙස, අපි මොනෝ භාවිතා නොකිරීමට ප‍්‍රධාන හේතුව වන්නේ එහි GC සංවර්ධනය අතිශයින් මන්දගාමී වීමයි. වර්තමාන ස්ථාවර GC 2003 දී "අතුරු පියවරක්" ලෙස ඔවුහු විස්තර කළහ! list.ximian.com/pipermail/mono-gc-list/2003-August/000012.html
ජෝන්

නැතහොත් ඔබට ඩේබියන් / උබුන්ටු ධාවනය කළ හැකිය, බාහිර යෝග්‍ය ගබඩාවන් කිහිපයක් භාවිතා කළ හැකිය, මුල සිටම මොනෝ සම්පාදනය නොකර සිසිල් ළමයින් සමඟ සෙල්ලම් කරන්න.
Quandary

7

පරිශීලක දෘෂ්ටි කෝණයකින්, මොනෝ වින්ඩෝස් .නෙට් යෙදුම් ලිනක්ස් සමඟ අනුකූල වන පරිදි සකසයි. ඔබ මොනෝ හි විනීතව ලියා ඇති වින්ඩෝස් යෙදුමක් ධාවනය කිරීමට උත්සාහ කළහොත් එය ක්‍රියා නොකරනු ඇත.

ඇසුරුම් කරුවෙකුගේ දෘෂ්ටිකෝණයෙන් (මම PortableApps හි සුළු වැඩ කොටසක් කළෙමි), .NET ආශීර්වාදයක් මෙන්ම ශාපයක් විය හැකිය. ඔබ වින්ඩෝස් මත පමණක් නම්, .නෙට් යෙදවීම වඩාත් පහසු කරයි, මන්ද වැඩි පුස්තකාල යනු පද්ධති මත යැපෙන දේවල් අඩු වීමයි (විශේෂයෙන් වින්ඩෝස් අනුවාද අතර, මම විශ්වාස කරමි) නමුත් වින්ඩෝස් මත පවා අතිශය ව්‍යාකූල වේ .නෙට් අනුවාදයන් පසුපසට නොයන නිසා අනුකූල හෝ ඉදිරියට අනුකූල. විවිධ වැඩසටහන් සඳහා .NET හි විවිධ සංස්කරණ බාගත කළ යුතුය.

එයින් කියැවෙන්නේ මොනෝ යනු සී # වැඩසටහන් හරස් වේදිකාවක් බවට පත් කිරීම සඳහා කදිම ආරම්භක ස්ථානයක් බවයි. නවතම WINE සමඟ වැඩසටහන ඇසුරුම් නොකර එය අවසන් යැයි අමතන්න. බලන්න පිකාසා ගත්තේ කොහෙන්ද කියලා.

භාෂා / වේදිකා දෙකේ දේශපාලන ස්ථායිතාව මෙන් ම, මයික්‍රොසොෆ්ට් සමඟ මධුසමය ගත කිරීම ද කුප්‍රකට ය. මෙම වේදිකා දෙකම දැන් දේශපාලනික වශයෙන් අස්ථාවර ලෙස සැලකිය හැකිය.

ඔබට සැබවින්ම පහසු හරස් වේදිකාවක් අවශ්‍ය නම්, උත්සාහ කළ හා සත්‍ය මාර්ගය QT ය. එය මේ වන විට දේශපාලනික වශයෙන් තරමක් ස්ථාවර ය. එය අ) LGPL'd, b) වසර ගණනාවකට පෙර එහි ප්‍රධාන බලපත්‍ර ගැටළු සමඟ සිදු කරන ලද අතර ඇ) Nokia හි සහාය ඇතිව, එය සැබවින්ම ජනප්‍රිය දුරකථන අලෙවි කරයි.


5
දේවල් ඉක්මනින් වෙනස් වේ. Nokia තවදුරටත් මිනිසුන්ට අවශ්‍ය දුරකථන විකුණන්නේ නැති අතර Qt සහ Mono හි අනාගතය ගැන සැකයෙන් යුතුව Novel තවදුරටත් නොපවතී. මයික්‍රොසොෆ්ට් වැනි 'ප්‍රාථමික ආධාරක' පද්ධති හැර වෙනත් කිසිවක් භාවිතා කිරීමට ව්‍යාපාර අකමැති වීමට හේතුව මෙය විය හැකිය. විවෘත මූලාශ්‍රය එතරම් හොඳ අදහසක් වන්නේ එබැවිනි.
gbjbaanb

4

මොනෝ යනු මයික්‍රොසොෆ්ට් හි .net හි 1: 1 වරායක් නොවේ. මොනෝ සරලව ක්‍රියාත්මක නොකරන හෝ එසේ කිරීමට කිසිදු සැලසුමක් නොමැති තාක්‍ෂණයන් ඇත (උදා: වැඩ ප්‍රවාහ පදනම හෝ ඩබ්ලිව්පීඑෆ් ) අනෙක් අතට මයික්‍රොසොෆ්ට් .නෙට් විසින් නොකරන, ඔවුන්ගේම තාක්‍ෂණයන් ඇත. උදා: සිම්ඩ් දිගු .

කෙටි පිළිතුර: මොනෝ සහ මයික්‍රොසොෆ්ට් .නෙට් පදනම් වී ඇත්තේ එකම යටිතල පදනම වන සීඅයිඑල් සහ බීසීඑල් - නමුත් වෙනම ව්‍යාපෘති වේ.


2

මුල් පෝස්ට් එකේ ප්‍රකාශ වලට කුඩා අදහස් දැක්වීම. ජාවා විවෘත ප්‍රමිතියක් යැයි කියා ගැනීමට ඔරකල්ට ඉඩ දෙන න්‍යායාත්මක මෙවලමක් ලෙස TCK පවතින බව මම තර්ක කරමි. ඔබ දුටුවහොත්, අපාචේ සමගිය දැන් වසර ගණනාවක් තිස්සේ "ජාවා" ලෙස සහතික කිරීමට උත්සාහ කර ඇත, අසාර්ථකයි. ඔරකල් සැබවින්ම අනුබද්ධිත හා වැඩි හෝ අඩු පාලනයක් (OpenJDK) හැරුණු කොට විවෘත මූලාශ්‍රයක් ක්‍රියාත්මක කිරීමට උනන්දුවක් නොදක්වන බව පැහැදිලිය. මොනෝ වැනි බොහෝ දේ සම්පූර්ණ නැත (එනම් ජාවා වෙබ් ආරම්භක සහාය නැත) සහ සංවෘත ප්‍රභවයක් වන හොට්ස්පොට් ක්‍රියාත්මක කිරීමේදී සමහර ප්‍රශස්තිකරණයන් නොමැත.

එබැවින් 2010 වන විට විවාදාත්මක ය; (බොහෝමයක්) ජාවා විවෘත ප්‍රභවයක් වන නමුත් විවෘත ප්‍රමිතියක් නොවන අතර (බොහෝමයක්) .නෙට් විවෘත ප්‍රභවයක් නොව විවෘත ප්‍රමිතියකි. ඇත්ත වශයෙන්ම ව්‍යතිරේකයන් ඇත, ඩීඑල්ආර්, අයන්පයිතන්, අයන් රූබි සහ එෆ් # ඇත්ත වශයෙන්ම විවෘත මූලාශ්‍ර වේ. මොනෝ සිත්ගන්නාසුළු වන්නේ එය ලෝක දෙකෙන්ම හොඳම, විවෘත ප්‍රමිතීන් විවෘත මූලාශ්‍ර ක්‍රියාත්මක කිරීම සපයන බැවිනි.


ජාවාහි විවෘතභාවය එතරම් වැදගත් කොටසක් නොවේ. මගේ අත්දැකීම වන්නේ ජේවීඑම් හි TCK සමත් වූ වැඩසටහන් මත හොඳින් ක්‍රියාත්මක වන බැවින් එය වැදගත් පරාමිතියකි.

1

සියලු තාක්ෂණික ක්‍රම පසෙකට දමා, ඇත්ත වශයෙන්ම කේතය ලිවීමේදී ඉතා වැදගත් කොටසක් සිදු වේ.

ඕනෑම හරස් වේදිකා තාක්‍ෂණයක මෙන් (එය ජාවා, පයිතන්, රූබි වේවා), කේතය අතේ ගෙන යා හැකි බව මනසේ තබාගෙන නොමැති නම්, කේතය නිසියාකාරව ක්‍රියාත්මක වීමට ශුන්‍ය අවස්ථාවක් ඇතැයි ඔබ සිතිය යුතුය (එවැනි අවස්ථාවක් වුවද) යථාර්ථයේ දී බොහෝ සෙයින් වැඩි ය), අමුතු විෂමාචාරය තරමක් විවේචනාත්මක විය හැකි බැවින්. කියවන්න: අහඹු ලෙස එකලස් කර මොනෝ යටතේ ධාවනය නොකරන්න.

නව ව්‍යාපෘතියක් සඳහා (හෝ ඔබට පහසුවෙන් ප්‍රතිචක්‍රීකරණය කළ හැකි එකක්) .නෙට් / මොනෝ අතේ ගෙන යා හැකි ධාවන වේලාවක් ලෙස තෝරා ගැනීම අර්ථවත් කරයි, නමුත් මොනෝ හි ඔබේ කේතය ඉතා ඉක්මනින් පරීක්ෂා කිරීමෙන් ඔබ බොහෝ කරදරවලින් මිදෙයි, ව්‍යාපෘතිය තිබුණත් බහුකාර්ය ආකෘතියේ සුළු වෙනසක් පමණි. ඔබ අඛණ්ඩ ඒකාබද්ධ කිරීමේ සේවාදායකයක් භාවිතා කරන්නේ නම්, මෙය මොනෝ බිල්ඩ් නෝඩ් එකක් සැකසීම තරම් සරල විය හැකිය. සංවර්ධනය කිරීමේදී බොහෝ ගැටලු විසඳා ගත හැකිය, එයින් පුරුද්දක් ඇති කර ගැනීමෙන් (මාර්ග නූල් තැනීම වැනි) සහ ඔබේ කේතයේ විශාල කොටසක් මොනෝ මත අතේ ගෙන යා හැකි සහ ඒකක පරීක්ෂාවට ලක් කළ හැකිය. ඉතිරිය (එනම් අසමත් ඒකක පරීක්ෂණ) පසුව වේදිකාවට විශේෂිත වේ (PInvoke භාවිතා කරන කේතය වැනි) නමුත් ඉලක්කගත වේදිකාවක් සඳහා විකල්ප ක්‍රියාත්මක කිරීමක් සැපයීමට හැකි වන පරිදි ප්‍රමාණවත් ලෙස සංයුක්ත කළ යුතුය.

ඇත්ත වශයෙන්ම, මොනෝ හි නොමැති (.නෙට්) හෝ අනුකූල (තෙවන පාර්ශවයක්) පුස්තකාලයක් භාවිතා කිරීම මේ කිසිවක් වළක්වයි, නමුත් මගේ ක්ෂේත්‍රය තුළ මෙය තවම දැකිය නොහැක. අපි ඇත්ත වශයෙන්ම රැකියාවේදී භාවිතා කරන උපායමාර්ගය එයයි. එය ක්‍රියාත්මක කිරීමේදී මට එය ප්‍රකාශ කිරීමට බියක් නැත .නෙට් + මොනෝ යනු හරස් වේදිකාවකි.


0

එය වෙනස් වන්නේ අවංක පිළිතුරයි. කුඩා වෙබ් සේවාදායක දේවල් අයිඅයිඑස් සිට අපාචේ වෙත ගෙන යන ආකාරය මම දැක ඇත්තෙමි. මම නොවෙනස් වින්ඩෝස් .නෙට් යෙදුම් ලිනක්ස් හි වින් පෝරම භාවිතා කර සාර්ථකව ධාවනය කර ඇත්තෙමි.

කෙසේ වෙතත්, එය ක්‍රියාත්මක විය හැකි අතර, ඔබ මොනෝ මත ක්‍රියාත්මක නොවූ API ඇමතුමක් භාවිතා කරන්නේ නම් එය ක්‍රියා නොකරනු ඇති අතර එකම විසඳුම වන්නේ ඔබේ යෙදුම නැවත ලිවීම, කවුළු සමඟ රැඳී සිටීම හෝ මොනෝ හි අමතර දේවල් ලිවීම ය.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.