Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
belltown
Roku Guru

Re: New ATOM package roku-develop -- deploy to multiple Rokus

"Komag" wrote:
What are "mixed line endings"?

Windows uses the \r\n line-ending sequence for text files, whereas MacOS and Linux use \n.

You can run into problems when copying and pasting text from a file saved under one OS into a file using a different OS, depending on how well your editor handles the differences. If you only work with one OS then it shouldn't be an issue.
0 Kudos
Komag
Roku Guru

Re: New ATOM package roku-develop -- deploy to multiple Rokus

Ah, interesting, thanks.
0 Kudos
EnTerr
Roku Guru

Re: New ATOM package roku-develop -- deploy to multiple Rokus

[spoiler=the why on atom:2osuxz7a]
"belltown" wrote:
"EnTerr" wrote:
@belltown, i have a question - of all things, why Atom?
Considering there is a better, smaller, faster IDE and its name is VSC (Visual Studio Code).

Why? Mostly for historical reasons. I'd been using Visual Studio for most of my development, as well as Notepad++ for some BrightScript coding. I was looking for a cross-platform editor when I was thinking about playing around with Linux. About that time, I discovered VS Code, and tried out one of their first preview releases. I wasn't very impressed. Some functionality I was looking for just wasn't there yet, and it didn't offer much in the way of extensibility -- although it does now. Shortly after, I gave up on VS Code, and my Linux forays.

More recently, after upgrading to Windows 10, and encountering numerous hassles with it that impeded my ability to get work done, I decided to give up on Windows development entirely in favor of Linux, except when absolutely necessary. So I needed another editor. I'd never revisited VS Code after my initial experiences; however, I'd been hearing a lot about Atom. Atom seemed to offer what I needed in an editor and was highly customizable. There were already other Roku developers using it  who seemed happy with it. The issues that others have complained about (executable size, memory consumption, load times, etc) have not been a factor at all for me.

It seems that VS Code has come a long way since the early preview release I tried out. If I were looking at starting with VS Code or Atom today, I could easily see myself seriously considering VS Code. I may even go back to trying it when i get some free time and see if it offers anything I need that I can't get from Atom.
[/spoiler:2osuxz7a]
Thank you for the thoughtful answer!

On my side, the story goes like this - the beginning of 2016 i was wondering if there is a multi-platform IDE that would be more acceptable for BrightScript dev than Eclipse - and also why is it that over a year since RokuCo was hiring IDE developer, nothing had materialized (add another year now and still nothing has happened). In particular, there is nothing like an integrated debugger?! You know - breakpoints/suspend/continue/step, stack and variable browser - or poor man's version of that.

Back then i looked around and there were only couple of serious candidates - Atom and VSC. Atom has been around for 1.5 years, VSC was new kid on the block, with 2 months or so since release. Ans so i started doing some "due diligence", kicking tires and such.

Atom was quick to disappoint. Yes, it's produced by GitHub, so direct shot to fame - and it generated a lot of buzz with the Node.js crowd because (shocker) it was written in Node.js. But the more i tried to like it, the less reasons i saw. First, it is a bloatware - the download was massive, seems GitHub had bundled the EMACS of the 21st century. Then starting it is a Royal Event in itself, every time - seems like pouring layers upon layers of molasses into my RAM. I looked on the Net and saw the same - people complaining about the glacial responsiveness of Atom - and others explaining to them that

  • that it's because of using HTML DOM and CSS

  • that it's slow because of using Node and Chromium

  • it's because of NPM dependencies management (loading 11 versions of node-Temp, 9 copies of Underscore.js, 8 different of Async and so on)

  • Should keep Atom running as a background app to improve performance

Hmm - but that's not i want - i don't want to "warm up" my computer in the morning and then "keep the engine running" to be able to work (WTH - this is just a fancy text editor/IDE - not a nuclear reactor!). I don't need to understand the reason really - I just want the IDE to get in my way as little as possible. If i wanted something bloated, greedy and slow - i can as well succumb to Eclipse, no? What's the advantage - that the IDE can be programmed in CoffeeScript/JavasScript instead of Java?

VSC OTOH was much springier. I read it still uses Electron (Node.js) and Blink (Chromium fork of WebKit) but somehow that does not slow it down. It opened promptly and with a simple interface. And what impressed me most (unjustly so) was that it immediately recognized and highlighted the syntax of a .BRS file open - right out of the box, no plugins. All that remained (ha-ha) was to write Roku deployment extension and a debugger. I actually dug further and writing a debugger is quite doable - except not a personal priority for me, i am more the print and "wolf fencing" kind of guy.

I am still trying to quantize my gut feeling about Atom and i guess it is about "bad smell" - i am suspicious about symptoms of software decay (bloat and rot).
0 Kudos
belltown
Roku Guru

Re: New ATOM package roku-develop -- deploy to multiple Rokus

I took another quick look at VS Code vs Atom.

On Ubuntu, the Atom .deb download is 80.5 MB vs 32.9 MB for VS Code. Either way it's under a minute to download. Atom ships with several extensions; VS code ships with none. You can uninstall the ones you don't want in Atom, and go looking for the ones you need in VS Code. I don't see any compelling argument here for me to choose one over the other.

To start Atom on my laptop with a single file open takes 3.8 secs, vs 3.9 secs for VS Code. I've been using Atom for several months now, and never felt it was slow or laggy, or impacting my computer's performance in any noticeable way. VS Code seemed just as responsive in the short time I used it. As long it lets me get my work done in an efficient manner, I don't really care about any perceived "bloat" or "greed".

For me, it comes down to what features does the editor provide to help me get my work done. The one single, glaring omission from VS Code that's present in Atom, is the ability to open multiple project folders in the sidebar. If all the files you're working on are in the same project, then it's not a big deal. However, I typically access multiple project folders in the same editor session and like to see each project folder in the sidebar. It's especially helpful to me transitioning from Windows to Linux in that I can open old Roku projects on my Windows drive at the same time as I have my newer projects open on my Linux drive -- all in the same editor session. Atom handles that very well. The VS Code folks have been discussing that for over a year now, but don't seem to be getting anywhere with it.

I am curious to see your VS Code Roku deployment extension. I haven't yet looked into writing extensions for VS Code. I'm happy to see that they're making that feature available; I don't think that was available in the initial preview I looked at.
0 Kudos
priya_sp
Visitor

Re: New ATOM package roku-develop -- deploy to multiple Rokus

this is my code..im not getting the progress bar.i checked with hasfocus function().im getting an true value..could you tel me where i have gone wrong?

<component name = "PanelExample" extends = "Panel"  initialFocus="exampleVideo">
  <interface >
    <field id = "description" type = "string" onChange = "showdescription" />
  </interface>
  <script type = "text/brightscript" >

    <![CDATA[

    sub init()
      m.top.panelSize = "full"
      m.top.focusable = true
      m.top.hasNextPanel = true
      m.top.isFullScreen = false
    end sub


    sub showdescription()
      videocontent = createObject("RoSGNode", "ContentNode")
      videocontent.title = "Example Video"
      print videocontent.title
      videocontent.streamformat = "mp4"
      'videocontent.url = "http://roku.cpl.delvenetworks.com/media/59021fabe3b645968e382ac726cd6c7b/f8de8daf2ba34aeb90edc55b2d380c3f/b228eeaba0f248c48e01e158f99cd96e/rr_123_segment_1_072715.mp4"
      videocontent.url = m.top.description
      print m.top.description
      m.video = m.top.findNode("exampleVideo")
      m.video.content = videocontent
      m.video.setFocus(true)
      print   m.video.hasFocus()
      m.video.control = "play"
      m.video.loop = true
      print "state"
end sub
  </script>

  <children >

  <Rectangle
    id = "infoRectangle"
    translation = "[ 0, 10 ]"
    height = "460"
    width = "1020"
    color = "0x101010C0">
      <Video id = "exampleVideo"   height = "560"
            width = "1020"/>
    </Rectangle>

  </children>

</component>
0 Kudos
norcaljb
Channel Surfer

Re: New ATOM package roku-develop -- deploy to multiple Rokus

I heard about Atom a while ago while developing for Joomla. I absolutely love it and do not use any other editor for Roku dev. I am surprised more users do not use it or merely do not know of it. Personally, I love all the features and compared to Eclipse it really shines as for a nice clean layout. 
0 Kudos
belltown
Roku Guru

Re: New ATOM package roku-develop -- deploy to multiple Rokus

The roku-develop Atom package can now create a Package file (.pkg) for the currently-deployed application. Thanks to Rolando Islas for the GitHub pull request.

I'm currently working on a version of roku-develop for Visual Studio Code, since I very rarely use Atom any more.
0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.