Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Миграция с C# .NET 4.0 на JAVA 7
#1
Собственно возникла проблема на рабое перенести проект с C# .NET 4.0 на JAVA 7 т.к. контора решила перейти на лецинзионное, но денег на покупку MS Visual Studio 2013 не предвидится.
Какие могут возникнуть сложности ибо для меня C# пока terra incognita в большей степени чем JAVA.
На первый взгляд проблема решаема, но не хотелось бы где-нибудь по среди процесса напороться на внезапные грабли и откатываться к началу.
Т.е. был ли у кого опыт миграции средней сложности проекта?
В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.
Ответ
#2
Зачем покупать MS Visual Studio 2013 ? установите express версию она бесплатна.
Ответ
#3
Некоторые сложности могут возникнуть с синтаксическим сахаром шарпов, пример тому: async keyword и другие. В принципе портирование не создаст проблем, но послевкусие явно будет плохим Smile
Более весело становится с использованием сишных дллок или winapi в проекте шарпов (напрямую), ибо в джаве начинается еще тот адЪ, при портировании.

Если проект не монстроузбогоительный, то в принципе можно портировать, но если используется куча специфичных вещей из winapi напрямую, то лучше забить. Исхожу из собственного опыта, ибо довелось портировать парочку проектов с шарпа на джаву, после чего я перестал верить в богов D:

кулстори по порту
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#4
Я бы даже сказал, что это не проблема переноса, а новые возможности для улучшения и проверки кода на наличие вшивостей.
в отличии от того же тз, которые черт возьми, меняется быстрее чем погода на улице, у вас есть сформировавшийся функционал, и написать это же, с другими/новыми возможностями языка просто сказка, конечно, если у вас есть навыки шарпа и явы, без достаточной квалификации лучше такие действия не предпринимать
Ответ
#5
Все зависит от того насколько платформозависимый код и насколько часто используются плюшки в виде красивых форм, модных async/await, ересь LINQ и разнообразных извращений с .net reflection.

Если надо работать с winapi есть такая вещь как JNA.
Если приложение требует красивых форм и всяких фишек WinForm/XAML etc то это уже будет проблемно.

Портировал в основном только консольный софт с древним C# 1.1/2.0 на Java 6, очень повезло там не было никакого linq и вышеописанного, но все равно это как написание софтины с нуля, единственное что у тебя есть под рукой так это готовый пример с кусками кода и уже оформленной логикой работы.

Без Advanced Java каждого участника команды лучше не сильно рассчитывать что портирование пройдет гладко ведь помимо синтаксиса С# ведет свою отдельную от Java религию.

По возможности лучше конечно попытаться остаться на оригинальной версии продукта на c# если команда уже работает с ним. Да и зачем такая потребность именно в 2013й?


Цитата:В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.

Если слои доступа к данным в приложении разделены верно то отдельное портирование кода БД не должно занять много времени. Стоит только освоить работу JDBC.

Работа с файлами параметров в C# отличается кардинально от Java (XML vs Plaintext). Скорее всего прийдеться писать собственную реализацию работы с настройками. Да Java тоже умеет работать с реестром - c этим проблем не должно возникнуть.

Сетевое взаимодействие - переписать все на сокеты либо заюзать Netty. Тоже надо будет осваивать идеологию Java NIO.
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#6
TieLay Написал:Собственно возникла проблема на рабое перенести проект с C# .NET 4.0 на JAVA 7 т.к. контора решила перейти на лецинзионное, но денег на покупку MS Visual Studio 2013 не предвидится.
Какие могут возникнуть сложности ибо для меня C# пока terra incognita в большей степени чем JAVA.
На первый взгляд проблема решаема, но не хотелось бы где-нибудь по среди процесса напороться на внезапные грабли и откатываться к началу.
Т.е. был ли у кого опыт миграции средней сложности проекта?
В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.

Мигрируют (мирные люди) со стран СНГ и Азии в Россию, у вас точно возникнут проблемы с портированием и что это за контора то такая, у которой если нету денег на лицензию запрягает переписывать с С# на Java?

По мимо MS Visual Studio 2013 разве нету других сред разработки?
P.S Какие то все стеснительные стали....
Ответ
#7
Foru Написал:По мимо MS Visual Studio 2013 разве нету других сред разработки?
P.S Какие то все стеснительные стали....



мм... нет?
consulo.io - Consulo - multi-language IDE
Ответ
#8
TieLay Написал:Собственно возникла проблема на рабое перенести проект с C# .NET 4.0 на JAVA 7 т.к. контора решила перейти на лецинзионное, но денег на покупку MS Visual Studio 2013 не предвидится.
Какие могут возникнуть сложности ибо для меня C# пока terra incognita в большей степени чем JAVA.
На первый взгляд проблема решаема, но не хотелось бы где-нибудь по среди процесса напороться на внезапные грабли и откатываться к началу.
Т.е. был ли у кого опыт миграции средней сложности проекта?
В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.

VISTALL Написал:мм... нет?

Да, ну? SharpDevelop не?, ну ладно, ладно на крайняк VirtualBox + Linux + MonoDevelop, или тс хочет пойти более сложным путем?
Ответ
#9
Foru Написал:Да, ну? SharpDevelop не?, ну ладно, ладно на крайняк VirtualBox + Linux + MonoDevelop, или тс хочет пойти более сложным путем?

:redlol: До! И как мне на винду скомпилить?
consulo.io - Consulo - multi-language IDE
Ответ
#10
VISTALL Написал::redlol: До! И как мне на винду скомпилить?

В Googl'е смотришь какие классы кроссплатформенное а какие нет, а точнее на офф сайте mono в FAQ - где то там видел.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Java с нуля Sensation 11 3,264 03-22-2016, 10:22 AM
Последний пост: mountaineer
  Java, командная строка Grindelvald 2 1,933 08-24-2013, 09:38 AM
Последний пост: Grindelvald
  .NET vs Java praetorianec 56 10,624 12-05-2012, 03:52 PM
Последний пост: ProDev
  Java/.NET Руткиты (Эксплойтирование платформы JVM/.NET) OPPAIN 0 1,382 11-09-2012, 07:04 PM
Последний пост: OPPAIN
  Java Scripts - конфликт библиотек Gambit_J 18 6,258 10-03-2012, 11:31 PM
Последний пост: popropusku
  Java [Исходники Бота] Florentino 0 2,397 09-30-2012, 01:45 PM
Последний пост: Florentino
  linux debian ошибка java 2ndGuy 11 4,665 07-16-2012, 01:41 AM
Последний пост: Zubastic
  Java - ваш итог(недостатки, прочее) VISTALL 26 7,212 04-22-2012, 10:30 AM
Последний пост: Ronn-l2f
  Помогите, проблемы с Java - не хочет работать Counter 24 12,017 10-24-2011, 07:39 PM
Последний пост: PaInKiLlEr
  Дайте пожалуйста ссылки(книги) по изучению Java для нуба :D loverane1 7 2,963 10-02-2011, 04:20 PM
Последний пост: Felixx3452

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)