Сообщений: 2,125
Тем: 84
Зарегистрирован: Jul 2010
Репутация:
3,419
Собственно возникла проблема на рабое перенести проект с C# .NET 4.0 на JAVA 7 т.к. контора решила перейти на лецинзионное, но денег на покупку MS Visual Studio 2013 не предвидится.
Какие могут возникнуть сложности ибо для меня C# пока terra incognita в большей степени чем JAVA.
На первый взгляд проблема решаема, но не хотелось бы где-нибудь по среди процесса напороться на внезапные грабли и откатываться к началу.
Т.е. был ли у кого опыт миграции средней сложности проекта?
В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.
Сообщений: 526
Тем: 28
Зарегистрирован: Oct 2009
Репутация:
7,209
Зачем покупать MS Visual Studio 2013 ? установите express версию она бесплатна.
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
Некоторые сложности могут возникнуть с синтаксическим сахаром шарпов, пример тому: async keyword и другие. В принципе портирование не создаст проблем, но послевкусие явно будет плохим
Более весело становится с использованием сишных дллок или winapi в проекте шарпов (напрямую), ибо в джаве начинается еще тот адЪ, при портировании.
Если проект не монстроузбогоительный, то в принципе можно портировать, но если используется куча специфичных вещей из winapi напрямую, то лучше забить. Исхожу из собственного опыта, ибо довелось портировать парочку проектов с шарпа на джаву, после чего я перестал верить в богов D:
кулстори по порту
P.S: так же могут возникнуть проблемы, если мы работаем напрямую с драйвером или обрабатываем инпут/оутпут подключенных к PC микроконтроллеров. Как пример: был один проект с работой по КОМ порту на шарпах. Обычное получение данных, разбор их, вывод информации и отправка данных на этот же порт. При порте на джаву начался сущий адЪ и было решено вообще все это говно переписать на крестах (к слову сказать, где я накушался проблем, еще больше чем при порте на джаву, но это уже другая история )
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 555
Тем: 2
Зарегистрирован: Feb 2011
Репутация:
1,507
Я бы даже сказал, что это не проблема переноса, а новые возможности для улучшения и проверки кода на наличие вшивостей.
в отличии от того же тз, которые черт возьми, меняется быстрее чем погода на улице, у вас есть сформировавшийся функционал, и написать это же, с другими/новыми возможностями языка просто сказка, конечно, если у вас есть навыки шарпа и явы, без достаточной квалификации лучше такие действия не предпринимать
Сообщений: 509
Тем: 7
Зарегистрирован: Apr 2008
Репутация:
1,660
Все зависит от того насколько платформозависимый код и насколько часто используются плюшки в виде красивых форм, модных 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.
Сообщений: 147
Тем: 13
Зарегистрирован: Aug 2012
Репутация:
231
TieLay Написал:Собственно возникла проблема на рабое перенести проект с C# .NET 4.0 на JAVA 7 т.к. контора решила перейти на лецинзионное, но денег на покупку MS Visual Studio 2013 не предвидится.
Какие могут возникнуть сложности ибо для меня C# пока terra incognita в большей степени чем JAVA.
На первый взгляд проблема решаема, но не хотелось бы где-нибудь по среди процесса напороться на внезапные грабли и откатываться к началу.
Т.е. был ли у кого опыт миграции средней сложности проекта?
В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.
Мигрируют (мирные люди) со стран СНГ и Азии в Россию, у вас точно возникнут проблемы с портированием и что это за контора то такая, у которой если нету денег на лицензию запрягает переписывать с С# на Java?
По мимо MS Visual Studio 2013 разве нету других сред разработки?
P.S Какие то все стеснительные стали....
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
Foru Написал:По мимо MS Visual Studio 2013 разве нету других сред разработки?
P.S Какие то все стеснительные стали....
мм... нет?
Сообщений: 147
Тем: 13
Зарегистрирован: Aug 2012
Репутация:
231
TieLay Написал:Собственно возникла проблема на рабое перенести проект с C# .NET 4.0 на JAVA 7 т.к. контора решила перейти на лецинзионное, но денег на покупку MS Visual Studio 2013 не предвидится.
Какие могут возникнуть сложности ибо для меня C# пока terra incognita в большей степени чем JAVA.
На первый взгляд проблема решаема, но не хотелось бы где-нибудь по среди процесса напороться на внезапные грабли и откатываться к началу.
Т.е. был ли у кого опыт миграции средней сложности проекта?
В самом проекте используется функционал взаимодействия с БД, файлами параметров и сетевое взаимодействие с клиентами, т.е. клиенты могут спокойно пережить смену платформы сервера.
VISTALL Написал:мм... нет?
Да, ну? SharpDevelop не?, ну ладно, ладно на крайняк VirtualBox + Linux + MonoDevelop, или тс хочет пойти более сложным путем?
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
Foru Написал:Да, ну? SharpDevelop не?, ну ладно, ладно на крайняк VirtualBox + Linux + MonoDevelop, или тс хочет пойти более сложным путем?
:redlol: До! И как мне на винду скомпилить?
Сообщений: 147
Тем: 13
Зарегистрирован: Aug 2012
Репутация:
231
VISTALL Написал::redlol: До! И как мне на винду скомпилить?
В Googl'е смотришь какие классы кроссплатформенное а какие нет, а точнее на офф сайте mono в FAQ - где то там видел.
|