TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: JAWS – A JavaScript and AWS Stack

375 pointsby ac360almost 10 years ago

37 comments

DocSavagealmost 10 years ago
Thanks for sharing. I&#x27;ve just started work on a server-free AWS architecture, but instead of using the AWS API Gateway feeding into Lambda, I&#x27;m working on static pages with AWS SDK for Javascript (served from S3) talking directly to Cognito, RDS and S3 with lambda for async processing:<p><a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;sdk-for-browser&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;sdk-for-browser&#x2F;</a><p>I&#x27;m surprised I haven&#x27;t seen more discussion of SDK for Javascript since it removes a lot of the server requirements. Have you considered using AWS SDK for Javascript, or do you explicitly want a REST API as an abstraction layer? The API certainly provides some advantages if you ever want to migrate off AWS. In my case, the lambda functions get invoked by particular events on RDS, S3, or manual&#x2F;browser triggers instead of AWS API Gateway invocation.
评论 #10008705 未加载
评论 #10006654 未加载
评论 #10006965 未加载
评论 #10006770 未加载
zer00eyzalmost 10 years ago
First of all nice work!<p>Second there is already a product out there called jaws: <a href="http:&#x2F;&#x2F;www.freedomscientific.com&#x2F;Products&#x2F;Blindness&#x2F;JAWS" rel="nofollow">http:&#x2F;&#x2F;www.freedomscientific.com&#x2F;Products&#x2F;Blindness&#x2F;JAWS</a><p>The last time I checked (and my information is very dated, 5+ years) this was a fairly popular piece of software in the blind community. I also do not know the status of trademark around the term. If you were going to change names, its early days for you now would be the good time to do it.
评论 #10006184 未加载
评论 #10006359 未加载
评论 #10007872 未加载
评论 #10006926 未加载
评论 #10008727 未加载
评论 #10021782 未加载
评论 #10025110 未加载
krschultzalmost 10 years ago
Note that you should be wary of AWS Lambda limits. We blew through them on our first day directing traffic on a system we were testing with Lambda. They were able to increase our limits a few days later, but something to think about before you base your whole stack around it.<p><a href="http:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;lambda&#x2F;latest&#x2F;dg&#x2F;limits.html" rel="nofollow">http:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;lambda&#x2F;latest&#x2F;dg&#x2F;limits.html</a>
评论 #10006031 未加载
评论 #10006334 未加载
mandsalmost 10 years ago
Great work - looks like a really useful piece to help you quickly get going using the AWS stack and Lambda&#x2F;JS. The biggest issue I&#x27;ve always found is the extra steps between writing your code and getting it onto a server.<p>The &quot;no server&quot; movement definitely seems to be gathering steam, with Firebase and Parse on the data side and Lambda (augmented with JAWS and others) on the computation side. Am excited to see what this area will bring, in particular due to the combination of scalable hosting and containerisation.<p>(Plug - we&#x27;re working on StackHut (<a href="http:&#x2F;&#x2F;www.stackhut.com" rel="nofollow">http:&#x2F;&#x2F;www.stackhut.com</a>) in the &quot;no server&quot; space that provides a language-agnostic Lambda-like platform (currently JS&#x2F;ES6 and Python with Ruby soon) that&#x27;s powered by Docker and is accessible via JSON-RPC over HTTP. Would love to hear your thoughts on this and the &quot;no server&quot; space in general.)
评论 #10007516 未加载
foolinaroundalmost 10 years ago
This seems very convenient...<p>Is there some blog&#x2F;resource that provides an estimate of the pricing when we go this route, instead of a seperate server for the APIs.<p>I would like to know the rough pricing in an order of magnitude level?<p>Would it be twice as expensive as a django app for an application with light usage, etc?<p>TIA!
ahallockalmost 10 years ago
Love this idea, but I wish there were an official integration between Lambda and RDS; I don&#x27;t want to use DynamoDB.
评论 #10006320 未加载
ac360almost 10 years ago
Just added a section in JAWS Optimization on the AWS Pop-Up Loft because it&#x27;s a tremendous resource and I don&#x27;t think many people know about it. Since this page is so popular, I&#x27;ll paste the section in here:<p>AWS Pop-Up Loft<p>AWS has an office&#x2F;loft in downtown San Francisco where you can meet with an AWS engineer for free to discuss your project and your use of AWS services. It&#x27;s an incredibly valuable resource, but I don&#x27;t think many people know about it.<p>All you have to do is schedule a meeting in advance. Meetings can last up to 1 hour and can be scheduled M-F during normal business hours.<p>Further, their office and loft is also a free co-working space, as long as you are using AWS services. They have some nice couches and desks and it&#x27;s a great way to network with other developers who use AWS services.<p>Again, all of this costs nothing. If you&#x27;re in SF, or traveling there, check it out!
rabbytealmost 10 years ago
This is jawsome. I feel like you&#x27;re cheating on the &quot;no server&quot; bit with some AWS semantics but you&#x27;re not the first so, whatever, nice job.
评论 #10005932 未加载
评论 #10005840 未加载
aikahalmost 10 years ago
It&#x27;s a bit what Couch Apps where supposed to be, without the vendor-locking part...<p>&gt; no server<p>But you have to rely on AWS infrastructure. So what you meant is no server management.
评论 #10008415 未加载
xeromalalmost 10 years ago
I&#x27;ve been trying to find a core example of how Jaws works without having to download anything. Could you include an example in your readme of an example API using lambda? Even some pseudocode would help me understand.
评论 #10006504 未加载
reilly3000almost 10 years ago
I&#x27;ve been looking for something like this within a ClojureScript workflow. With the new JS compiler it seems not too far off.<p>This is very cool. I would love to see more aws resources exposed as well through JAWS like dynamo or RDS.
评论 #10007160 未加载
Jonovonoalmost 10 years ago
This is interesting, thanks for sharing. Was a bit confused about lambda.<p>So this would be cheaper than just having an EC2&#x2F;DO instance running flask with a couple of endpoints?
评论 #10005990 未加载
reedlawalmost 10 years ago
Is there a way to use a file system-backed storage with this? For example, I would love to create a web frontend for ledger [1]. Ledger only reads text files but for a frontend to be useful it would need to write entries to files.<p>1. <a href="http:&#x2F;&#x2F;www.ledger-cli.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.ledger-cli.org&#x2F;</a>
评论 #10008407 未加载
joeyspnalmost 10 years ago
Really cool... Now we just need longer Lambda execution times (current limit is 60s) and a proper crontab. For a complete auth flow you can also check:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;danilop&#x2F;LambdAuth" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;danilop&#x2F;LambdAuth</a><p>It would be nice to integrate some ideas from LambdAuth into JAWS.
评论 #10015610 未加载
评论 #10007782 未加载
hoprockeralmost 10 years ago
Great experiment here. Lambda has been intriguing me for a while. More and more, as I scope out work for clients, I&#x27;m finding bits that could probably be run as Lambda processes instead of requiring an entire EC2 instance. This is kind of like taking a REST interface to a natural extreme.
评论 #10006519 未加载
Skywingalmost 10 years ago
I was looking into using lambda functions called in response to an S3 event. Specifically, I wanted to create a record in my SQL database after a file is uploaded to S3. Users are uploading directly to S3 using pre-signed requests, so I needed some way to step in and create a database record after they actually perform the upload to S3. S3 supports this via several methods, one of which is the lambda functions, but when looking into lambda functions there was no way to have the code access my SQL database internally, I would have had to make my SQL database open to the world. I didn&#x27;t find any IAM rules etc to enable lambda functions to access my SQL database resources. I&#x27;d be curious to see how this is handled by this JAWS work flow.
评论 #10007537 未加载
imechuraalmost 10 years ago
You may want to reconsider the name since JAWS is widley known as the defacto application for accessibility screen readers.<p>As far as legal stuff goes the american federation of the blind has been known to litigate against technology companies.
impostervtalmost 10 years ago
Ha, been working on something similar. If you get a chance, take a look. Maybe we can collaborate.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;johntitus&#x2F;hocus" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;johntitus&#x2F;hocus</a>
exrationealmost 10 years ago
I&#x27;m presently about three quarters done with writing one of these myself; Lamdba plus SQS plus arbitrary functions. I have a different take on deployment, going with CloudFormation. Version updates are something you have to think about quite hard with this sort of system.<p>The real challenge is how to manage within the 60 second, 1024 thread limits in a sane way, however. You have to approach application decomposition in a much more rigorous way.
评论 #10006935 未加载
thallium205almost 10 years ago
And the move towards Google App Engine continues...
评论 #10006506 未加载
评论 #10010348 未加载
silverlightalmost 10 years ago
Is it really true that Lambdas can take 5 minutes to start up? Doesn&#x27;t that rule them out as useful for things like running a website (instead of just background jobs)? Or does the article mean 5 minutes from the first time you deploy a new one to the time it&#x27;s available, but after that new lambdas can be spun up in milliseconds to server each request?
评论 #10007557 未加载
ramonalmost 10 years ago
Great job, grabbed my attention, I really liked this, but I&#x27;m doing so great with gulp that if I used this I really would still need to use gulp because of the optimizations, I&#x27;m also using S3 and Lambda, but I like the idea of running aws lambda locally before uploading and the &quot;run a server locally&quot; before upload.
评论 #10005596 未加载
dmmalamalmost 10 years ago
Does AWS API Gateway support Websocket endpoint? Would be interesting to created a realtime websocket API, backed by lambda.
评论 #10007772 未加载
评论 #10006816 未加载
xasosalmost 10 years ago
Nice work on the project! Big fan of the graphics also :)<p>Reminds me of Divshot [0], a heroku-like service for hosting static sites. It&#x27;s great that you can roll your own site, and don&#x27;t need a middleman to host for you.<p>[0] <a href="https:&#x2F;&#x2F;divshot.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;divshot.com&#x2F;</a>
aakilfernandesalmost 10 years ago
Sounds interesting. What kind of apps make the most sense for JAWS?
评论 #10006888 未加载
Murali4everalmost 10 years ago
this is really cutting edge stuff, great job. Would be event cool to include polymer webcomponents (on client side) , AWS Cognito for authentication along with this.
joeevans1000almost 10 years ago
Jaws already exists as a software project, for the blind.<p>Perhaps I am exposing ignorance about the needs of the blind community, but it would seem to me that a primarily important piece of software for them could be more confusing to find and update and so on if another piece of software appears with the same name. Maybe you should consider changing the name of your software before it&#x27;s too late? It&#x27;s possible that your Jaws may, in the long run, cause considerable confusion for the users of the pre-existing Jaws software.<p>I&#x27;m making a case based on empathy rather than trademark law and so on.
Nitrampalmost 10 years ago
Woohoo! It&#x27;s the second coming of stored procedures and PL&#x2F;SQL! Party like it&#x27;s 1988!<p>Seriously though, these kinds of architectures come at a cost. The website&#x27;s claims are either misleading, or the authors haven&#x27;t understood the problem domain. E.g.:<p><i>Each of your API URLs points to one of these Lambda functions. This way, the code for each API Route is completely isolated, enabling you to develop&#x2F;update&#x2F;configure&#x2F;deploy&#x2F;maintain code for specific API urls at any time without affecting any other part of your application(!!!).</i><p>Even if you add more exclamation marks, you&#x27;ll still end up with front end code depending on the interface exposed by your backend code, meaning you&#x27;ll have to do versioned rollouts, except you no longer have a single deployable but a zoo of store proce^W^Wlambda functions, with unclear interdependencies and (usually) no proper versioning or tracking.<p>This might be the right architecture for certain apps, but it&#x27;s not the easy win&#x2F;win that&#x27;s presented here.
评论 #10007569 未加载
评论 #10007547 未加载
评论 #10011153 未加载
shaneqfulalmost 10 years ago
Anyone else immediately think of the screen-reader
alpacaaaalmost 10 years ago
This thing is awesome, thanks for sharing!
techpeacealmost 10 years ago
Excellent work, thanks for sharing!
jitixalmost 10 years ago
Seems great for cloud applications. Only thing I would worry about is vendor lock in.
wampleralmost 10 years ago
There&#x27;s a server here -- it&#x27;s just that it is not yours.
评论 #10011136 未加载
kevindeasisalmost 10 years ago
beautiful, this will be fun to try out!
sigmonsaysalmost 10 years ago
Is this an april fools joke in August?
评论 #10008180 未加载
curiousjorgealmost 10 years ago
Yes! Yes! Yes! Now I just wish there was Python support.
mk00almost 10 years ago
this idea is terrible
评论 #10007786 未加载