Pull to refresh

JetBrains WebIDE — третья публичная сборка

Reading time 1 min
Views 3.1K
PHP *
Вышла третья предварительная сборка (номер 445) новой среды разработки для PHP — JetBrains Web IDE PHP developers edition.
В этой версии мы приняли во внимания пожелания пользователей (в том числе и фидбэк с хабра:) и добавили несколько новых функций — YAML, дополнение членов объявленных через теги PHPDOC @property и method, а также усовершенствовали дебаггер. Исправлено множество различных ошибок и серьезно улучшена производительность автодополнения в редакторе.

Загрузка новой версии с официальной страницы «программы ранней доступности» Web IDE.
Детальный список изменений — в блоге Web IDE.

UPD: Напоминаю всем что это даже не бета — мы просто демонстрируем над чем работаем. Вы главное пишите чего ВАМ в вашем любимом IDE не хватает и что вы больше всего цените — а мы позаботимся чтобы появилась достойная альтернатива!

YAML + structure PHPDOC completion
Total votes 36: ↑32 and ↓4 +28
Comments 220

JetBrains WebIDE — четвертая публичная сборка (#470)

Reading time 1 min
Views 1.4K
PHP *
Мы продолжаем нашу борьбу за идеальное IDE для PHP ^) Анонс предыдущей сборки на хабре подарил нам огромное количество информации и указал основные направляния для совершенствования. В этот раз мы сосредоточились на выведении типов, (авто)дополнении и производительности. Под «выведением типов» подразумевается определение типов переменных, выражений и функции на основе анализа кода (а не PHPDOC @аннотаций)

В этой сборке мы добавили:
— автоматическое выведение типов возвращаемых значений функций на основе анализа операторов return
— автоматическое определение фактических свойств класса и их типов путем анализа кода конструктора (см. скриншоты)
анализ функций
анализ конструктора
— автоопределение типов глобальных переменных без аннонаций
— полную поддержку аннотаций var и global
— автовызов дополнения после $ и ->
— дополние внутри PHPDOC @тегов (частично), $переменных (из следующей декларации) и видимых типов
— сокрытие __magic() методы при первом вызове (если есть другие члены класса)
— ограничили дополение внутри catch() подклассами Exception

Производительность улучшли, настолько насколько это возможно в экспериментальной версии. По мере приближения к релизу ей будет уделяться основное внимание.

Скачать Анонс Подробный список изменений

Приглашаем всех пробовать и продолжать дискуссию :)

UPD: в этом билде был найден серьезный баг — дополнение часто не срабатывает для классов не из текущего файла :((( уже исправлено — будет доступно на следующей неделе.
Total votes 71: ↑63 and ↓8 +55
Comments 197

JetBrains WebIDE — публичная сборка #500

Reading time 1 min
Views 1.2K
PHP *
Квест «идеальное IDE для PHP» продолжается :) За прошедшую с предыдущей сборки неделю стали доступны две наиболее востребованые фичи — PHPUnit и FTP, ну и конечно мы постарались исправить как можно больше ошибок.

IDE
— начальная версия поддержки удаленных хостов — пока что только FTP upload. (Планируется: открытие удаленного проекта, автосинхронизация, SFTP/SSL/всякие cloud storage). Находится в меню Settings — Deploy&Run.
— Новые удобные закладки (F11)

PHP
— начальная версия поддержки PHPUnit (пока только локальный запуск)
— добавлено выведение типов для переменной в «foreach(...)», элемента массива «array[...]» и тернарного оператора "?:"
— добавлены поиск использований (Ctrl-Alt-F7) и переименование (Shift-F6) для глобальных переменных
— исправлены поиск использований и переименование для статических членов класса
— исправлены различные ошибки форматирования кода и комментариев

Загрузка Анонс

FTP PHPUnit
Total votes 51: ↑41 and ↓10 +31
Comments 117

JetBrains WebIDE — публичная сборка #701 / немного о ZendCon'09 / кое что о неочевидных возможностях

Reading time 3 min
Views 1.4K
PHP *
И снова «идеальное IDE для PHP» от JetBrains ^) За прошедшее с предыдущей сборки время мы успели обзавестись официальным сайтом, посетить ZendCon'09 и наконец заняться обещанной оптимизацией производительности. Нашлось время и на несколько новых фич. Пока качается билд загляните под кат — кроме обычных подробностей там будет пара слов о ZendCon и о уникальных функциях платформы/WI.



Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Comments 200

Разрабатываем в облаках (WPF, ASP.NET, PHP)

Reading time 2 min
Views 961
Lumber room
ss1 Много всего сейчас говорится об облачных вычислениях. О том, как удобно все хранить и обрабатывать где-то там — в облаках. У нас есть Google Docs для создания документации, скоро будет Microsoft Office Web 2010 Apps (на самом деле и сейчас уже можно пользоваться Excel и PowerPoint на live.com), так же мы уже можем хранить документы в облаках, вести контакты, календари, ну в общем все что только можно захотеть (или почти все?). И более того, на глаза мне недавно попался CodeRun – Web IDE.
Читать дальше →
Total votes 56: ↑43 and ↓13 +30
Comments 28

прикручиваем плагины от Idea к WebIde

Reading time 2 min
Views 796
PHP *
Сегодня успешно закончив написание одного маленького, но очень полезного лично для меня плагина к IDEA, расстроился из-за невозможности прикрутить его к WebIDE, хотя в Idea 7/8/9 полет нормальный.
И вот, взрустнув и занявшись сравнительным анализом «старых» и «новых/кошерных» плагинов, обнаружил способ прикрутить к JetBrains WebIDE почти любой плагин от IDEA, коим и спешу поделиться :)
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Comments 7

JetBrains PhpStorm (AKA WebIDE) — публичная сборка 94.335

Reading time 2 min
Views 3.4K
PHP *
В этой сборке вас ждут:

Новое имя. Два варианта Web IDE получили свои официальные названия: JetBrains WebStorm и JetBrains PhpStorm. Брендинг еще не закончен так что вы увидите знакомые белые сплэши и иконки WI в самых разных местах. Цель разработки остается прежней — идеальный инструмент для PHP/JS разработчиков и веб-дизайнеров.

Полностью настраиваемый PHP formatter – эта фича получила наибольшее количество голосов в трекере.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Comments 108

Демо: Инкрементальный парсер для Web IDE

Reading time 3 min
Views 14K
Programming *Scala *Compilers *


Уважаемые коллеги,

я сделал Демонстрационное веб-приложение, наглядно иллюстрирующее, что такое инкрементальный парсер, и как он работает. Посмотрите его, пожалуйста. Буду рад услышать ваши отзывы и критику.

А под катом я расскажу, о том, как работают современные IDE. И как проект, над которым я сейчас работаю, может помочь вывести индустрию разработки веб-редакторов на новый уровень.
Как сделать настоящую IDE для Java, работающую полностью в вебе
Total votes 57: ↑55 and ↓2 +53
Comments 19

Первый браузер специально для разработчиков: уже скоро

Reading time 1 min
Views 47K
Firefox Website development *
Translation
Мы в Mozilla понимаем, что разработчики — это фундамент веба, поэтому мы активно продвигаем стандарты и продолжаем разрабатывать отличные инструменты, чтобы облегчить вам создание отличного веб-контента и приложений.

В процессе веб-разработки, как правило, используется бесчисленное количество различных инструментов, которые зачастую не очень хорошо работают вместе. Это значит, что вам приходится переключаться между разными инструментами, платформами и браузерами, что замедляет процесс и уменьшает продуктивность.

Так что мы решили дать волю нашей группе, которая создаёт инструменты для разработчиков в Firefox, чтобы они сделали весь браузер целиком. И посмотреть, что получится.

Сейчас мы готовы показать мельком первый браузер, созданный специально для разработчиков.


Читать дальше →
Total votes 81: ↑66 and ↓15 +51
Comments 48

[SAP] SAPUI5 for dummies: A complete step-by-step exercise

Reading time 2 min
Views 4.2K
Website development *JavaScript *Programming *HTML *
Tutorial

Yesterday I’ve blogged about the content I’m creating for new developers that have arrived at our Techedge office in Lucca.


Teaching is something I started to love, is the natural consequence of the fact that I love to learn and love to share my knowledge. And I think that it’s important that new students or young developers have some curated content to start with, maybe with also some tip&tricks that senior has learned during their journey.


The idea behind this exercise is to cover every topic a SAPUI5 developer should know and understand.


The exercise will be available on my GitHub project openui5-exercise.

Read more →
Total votes 19: ↑18 and ↓1 +17
Comments 0

[SAP] SAPUI5 for dummies part 1: A complete step-by-step exercise

Reading time 2 min
Views 3.6K
Website development *JavaScript *Programming *HTML *
Tutorial


Introduction & Recap


In the previous blog post, we have created a new SAPUI5 application on our SAP SCP WebIDE Full stack and we have configured it to use the destination to the SAP Netweaver Gateway Demo ES5.


What will be covered on this exercise


  • What is an XML Metadata Manifest and what’s inside it?
  • How to use our OData Model and bind it into our application
  • Use a sap.m.Table with items and property binding
  • Use sap.ui.model.type.DateTime to format JavaScript Date
  • How to style columns to act differently on mobile/tablet/desktop devices
Read more →
Total votes 16: ↑14 and ↓2 +12
Comments 4

SAPUI5 for dummies part 2: A complete step-by-step exercise

Reading time 4 min
Views 6.7K
Website development *JavaScript *Programming *HTML *
Tutorial


Introduction & Recap


In the previous blog post, we started designing our application rendering a table with some Business Partner. We learned what OData protocol is, how to read an OData XML manifest, how to bind data to a Table and how to customize columns layout based on different screen resolution.


What will be covered on this exercise


With Part 2 of this series of blog posts, we will learn how to interact with data in our Tables and List. We will learn how to filter and sort data in a smart way.


  • Create JSONModel to handle local data
  • Set a default sizeLimit to our JSONModel
  • FilterBar: UI control that displays filters in a user-friendly manner to populate values for a query
  • Use XML Fragments to create a View Settings Dialog to handle sort and group data
  • Filter and Sort data
  • Add an Info Toolbar to our table to display useful information
Read more →
Total votes 14: ↑13 and ↓1 +12
Comments 0

SAPUI5 for dummies part 3: A complete step-by-step exercise

Reading time 4 min
Views 6.7K
Website development *JavaScript *Programming *HTML *
Tutorial


Introduction & Recap


In the previous blog post, we learned how to filter, sort and group our table. This is a fundamental aspect of every CRUD application because most of the time users have to deal with hundreds of hundreds of records.


What will be covered on this exercise


With Part 3 of this series of blog posts, we will learn how to create a Master-Detail application leveraging the SplitApp UI control and how correctly configure the app’s manifest to handle routes and targets.


  • SplitApp: UI control that allows you to create a Master-Detail application (used as a replacement of the App control)
  • Routing: we will configure the manifest.json to correctly handle the routing of the application
  • ObjectHeader: control that enables the user to easily identify a specific object. The object header title is the key identifier of the object and additional text and icons can be used to further distinguish it from other objects
  • Navigation to a detail view and bind the element context: you will learn how to navigate and open a detail page and bind the current View (of the detail) to a new context
  • List: in the master page we will use a list to display BusinessPartner because we will have less space
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 0

SAPUI5 for dummies part 4: A complete step-by-step exercise

Reading time 4 min
Views 3.3K
Website development *JavaScript *Programming *HTML *
Tutorial


Introduction & Recap


In the previous blog post, we learned how to move our current application into a Master-Detail app displaying Business Partner as a list (master) and its detail information with Sale Orders inside the detail page (detail).


What will be covered on this exercise


With Part 4 of this series of blog posts, we will learn how to create a second drill-down page with information about the Sale Order detail and display a table of Sale Order items.


The most important part of this exercise is to understand how to Delete (part of the CRUD operations) a Sale Order Item of a Sale Order.


  • ODataModel: we have already used it to display server-side information about our Business Partner, Order Sale. Now we’re going to use it to display Sale Order Item and delete them from the set. For this purpose, we’re going to use the remove method

This is our main task in this exercise but it’s not the only thing we’ve done in the code. Here’s a list of the things you have to do to get to the final result:


  • Add a new route and target in the manifest.json to navigate to the BusinessPartnerSeleOrderItem page
  • Listen on the Sale Order click event and navigate to the SaleOrder detail (where we will display sale order detail and sale order items)
  • Add a FilterBar to filter the Sale Order Item’s table
  • Add a ViewSettingsDialog to sort/group Sale Order Items
  • Expand the ToProduct navigation property of a SaleOrderItem entity to display Product information into table’s rows
Read more →
Total votes 12: ↑11 and ↓1 +10
Comments 0

SAPUI5 for dummies part 5: A complete step-by-step exercise

Reading time 4 min
Views 6.3K
Website development *JavaScript *Programming *HTML *
Tutorial


Introduction & Recap


In the previous blog post, we learned how to create a second level of drill-down (detail of detail) and how to interact with OData and ODataModel (v2) in order to delete a database record.


What will be covered on this exercise


With Part 5 of this series of blog posts, we will learn how to create a SimpleForm within a Dialog that will allow us to update the information of a Sales Order Item.


Before updating the database order we have to check that everything typed by the user validates our constraints.


  • ODataModel: we have already used it to display server-side information about our Business Partner, Sales Order, and Sales Order Items. We’ve also used it to delete a database record. We’re now going to use it to update a record thanks to the submitChanges method or remove what we’ve done with the resetChanges method.
  • Expression Binding: an enhancement of the SAPUI5 binding syntax, which allows for providing expressions instead of custom formatter functions
  • SimpleForm: a layout that allows users to create a pixel-perfect form
Read more →
Total votes 11: ↑10 and ↓1 +9
Comments 0